Revize aaad9ad4
Přidáno uživatelem Pultak před asi 3 roky(ů)
ld_client/LDClient/Program.cs | ||
---|---|---|
1 |
using LDClient.network;
|
|
1 |
using LDClient.network; |
|
2 | 2 |
using LDClient.utils; |
3 | 3 |
using LDClient.utils.loggers; |
4 | 4 |
|
... | ... | |
10 | 10 |
public static ALogger DefaultLogger { get; } = ALogger.Current; |
11 | 11 |
|
12 | 12 |
public static IApiClient DefaultApiClient { get; set; } = new ApiClient(Config.ApiBaseAddress, |
13 |
Config.ApiPort, Config.ApiUsbEndPoint, Config.ApiRetryPeriod); |
|
13 |
Config.ApiPort, Config.ApiUsbEndPoint, Config.RetryPeriod, Config.MaxEntries, |
|
14 |
Config.MaxRetries, Config.CacheFileName); |
|
14 | 15 |
|
15 | 16 |
// Main Method |
16 | 17 |
public static async Task Main() { |
18 |
|
|
19 |
var apiClientThread = new Thread(DefaultApiClient.Run) { |
|
20 |
IsBackground = true |
|
21 |
}; |
|
22 |
apiClientThread.Start(); |
|
23 |
|
|
24 |
DefaultLogger.Debug("Main -> starting SendPayloadAsync"); |
|
17 | 25 |
await DefaultApiClient.SendPayloadAsync(ApiClient.ExampleInfo); |
18 |
Console.WriteLine("Finished!"); |
|
26 |
|
|
27 |
|
|
28 |
DefaultLogger.Debug("Main -> lets slack for a bit"); |
|
29 |
Thread.Sleep(30000); |
|
30 |
|
|
31 |
DefaultLogger.Debug("Main -> stopping the ApiClient"); |
|
32 |
DefaultApiClient.Stop(); |
|
33 |
apiClientThread.Join(); |
|
34 |
DefaultLogger.Debug("Main -> finished"); |
|
35 |
} |
|
19 | 36 |
} |
20 | 37 |
} |
ld_client/LDClient/network/data/Payload.cs | ||
---|---|---|
1 |
using System.Text.Json.Serialization; |
|
1 |
using System.Text.Json; |
|
2 |
using System.Text.Json.Serialization; |
|
2 | 3 |
using Newtonsoft.Json; |
4 |
using JsonSerializer = System.Text.Json.JsonSerializer; |
|
3 | 5 |
|
4 | 6 |
namespace LDClient.network.data { |
5 | 7 |
[JsonObject(MemberSerialization.OptIn)] |
... | ... | |
25 | 27 |
[JsonPropertyName("status")] |
26 | 28 |
//[Newtonsoft.Json.JsonConverter(typeof(StringEnumConverter))] |
27 | 29 |
public ConnectionStatus Status { get; set; } |
30 |
|
|
31 |
|
|
32 |
public override string ToString() { |
|
33 |
return ParseToJson(this); |
|
34 |
} |
|
35 |
|
|
36 |
public string ParseToJson() { |
|
37 |
return Payload.ParseToJson(this); |
|
38 |
} |
|
39 |
|
|
40 |
public static string ParseToJson(Payload payload) { |
|
41 |
var options = new JsonSerializerOptions { |
|
42 |
Converters = { |
|
43 |
new JsonStringEnumConverter(JsonNamingPolicy.CamelCase) |
|
44 |
} |
|
45 |
}; |
|
46 |
|
|
47 |
return JsonSerializer.Serialize(payload, options); |
|
48 |
} |
|
28 | 49 |
} |
29 | 50 |
} |
Také k dispozici: Unified diff
re #9441 Main example + Payload feature for better manipulation