using System.Text.Json.Serialization; using System.Xml.Linq; using Hotline.Api; using Newtonsoft.Json; using RestSharp; using Serilog; using Tr.Sdk; Log.Logger = new LoggerConfiguration() .WriteTo.Console() .CreateBootstrapLogger(); Log.Information("Hotline service is Starting up"); //var a = "http://internal.ttf-cti.com:8080"; ////var r = await a //// .AppendPathSegment("api/login") //// .SetQueryParams(new { username = "yscs", password = "123456" }) //// .GetAsync(); ////var h = r.Headers.FirstOrDefault(d => d.Name == "X-Auth-Token"); //var p = new Pa { Phone = "13312341234", SpecialFlag = 4 }; //var njp = Newtonsoft.Json.JsonConvert.SerializeObject(p); //var jp = System.Text.Json.JsonSerializer.Serialize(p); //FlurlHttp.GlobalSettings.JsonSerializer = new TrUrlEncodedSerializer(); //var r1 = await a // .AppendPathSegment("api/special_phone/insert") // //.WithHeader(h.Name, h.Value) // .WithHeader("X-Auth-Token", "8352d42165d7cf6821e53e926d66adba54c309e6") // //.PostUrlEncodedAsync(new { phone = "13312341234", special_flag = 4 }); // //.PostUrlEncodedAsync(p); // //.ConfigureRequest(s => // //{ // // s.JsonSerializer = new Tr.Sdk.TrUrlEncodedSerializer(); // //}) // .BeforeCall(d => // { // var b = d.RequestBody; // var c = d.Request; // }) // .PostUrlEncodedAsync(p); //var r2 = await r1; //var options = new RestClientOptions("http://internal.ttf-cti.com:8080"); //var client = new RestClient(options); //client.AddDefaultHeader("X-Auth-Token", "8352d42165d7cf6821e53e926d66adba54c309e6"); //var reqToken = new RestRequest("api/login") // .AddObject(new { username = "yscs", password = "123456" }); ////var r1 = await client.GetAsync(reqToken); ////var h = r1.Headers.FirstOrDefault(d => d.Name == "X-Auth-Token"); ////7a906970b1ce06a503807e75762da323782f4a29 //var pa = new Pa //{ // Phone = "13333333333", // SpecialFlag = 3 //}; //var reqAdd = new RestRequest("api/special_phone/insert", Method.Post) // //.AddObject(new { phone = "13312341234", special_flag = 4 }); // .AddObject(pa); //var r2 = await client.PostAsync(reqAdd); try { var builder = WebApplication.CreateBuilder(args); builder.Host .ConfigureAppConfiguration((hostBuilderContext, configBuilder) => { var path = Path.Combine(Directory.GetCurrentDirectory(), "config"); configBuilder.SetBasePath(path) #if DEBUG .AddJsonFile("appsettings.shared.Development.json", true, true) #else .AddJsonFile("appsettings.shared.json", true, true) #endif .AddJsonFile("appsettings.json", false, true) .AddJsonFile($"appsettings.{hostBuilderContext.HostingEnvironment.EnvironmentName}.json", true, true) .AddEnvironmentVariables() .AddCommandLine(args) ; }) .UseSerilog((ctx, lc) => lc //.WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level}] {SourceContext}{NewLine}{Message:lj}{NewLine}{Exception}{NewLine}") .Enrich.FromLogContext() .ReadFrom.Configuration(ctx.Configuration)) ; builder .ConfigureServices() .ConfigurePipelines() .Run(); } catch (Exception ex) { Log.Fatal(ex, "Unhandled exception"); } finally { Log.Information("Shut down complete"); Log.CloseAndFlush(); } class Pa { //[JsonProperty(PropertyName = "phone")] //[JsonPropertyName("phone")] [RequestProperty(Name = "phone")] public string Phone { get; set; } //[JsonProperty(PropertyName = "special_flag")] //[JsonPropertyName("special_flag")] [RequestProperty(Name = "special_flag")] public int SpecialFlag { get; set; } }