選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

66 行
2.5 KiB

  1. using Newtonsoft.Json;
  2. using Example.Models.StaticData;
  3. using Example.Models;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Diagnostics;
  7. using System.Linq;
  8. using System.Net.Http;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11. namespace Example.Connectors
  12. {
  13. public static class GetTaxis
  14. {
  15. public static List<TaxiDataModule> _taxiDetails = new List<TaxiDataModule>();
  16. public static async Task<List<TaxiDataModule>> LoadTaxis(string serverPort)
  17. {
  18. try
  19. {
  20. string apiurl = $"https://api.whalleybot.com/bot/{serverPort}/GetTaxis";
  21. var handler = new HttpClientHandler()
  22. {
  23. ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator
  24. };
  25. using (var client = new HttpClient(handler))
  26. {
  27. client.DefaultRequestHeaders.Add("Authorization", "WhalleyBotOverlay_e-H1rr55f");
  28. client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
  29. var response = await client.GetAsync(apiurl)
  30. .ConfigureAwait(false);
  31. //var response = apicall.GetAwaiter().GetResult();
  32. if (response.IsSuccessStatusCode)
  33. {
  34. var json = response.Content.ReadAsStringAsync().Result;
  35. _taxiDetails = JsonConvert.DeserializeObject<List<TaxiDataModule>>(json);
  36. return _taxiDetails;
  37. }
  38. if (response.StatusCode == System.Net.HttpStatusCode.BadRequest && _taxiDetails == null)
  39. {
  40. Form1Module.WarningMsg = response.ReasonPhrase;
  41. Form1Module.OverlayCanOpen = "On";
  42. Form1Module.OverlayCanOpenBackcolor = System.Drawing.Color.DarkGreen;
  43. Form1Module.OverlayCanOpenForecolor = System.Drawing.Color.White;
  44. return _taxiDetails;
  45. }
  46. else
  47. {
  48. throw new Exception(response.ReasonPhrase + response.StatusCode);
  49. }
  50. }
  51. }
  52. catch (Exception ex)
  53. {
  54. Debug.WriteLine(ex.Source + ex.Message + ex.Data + ex.StackTrace);
  55. return null;
  56. }
  57. }
  58. }
  59. }