You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

GetPackData.cs 2.7 KiB

8 months ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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. internal class GetPacksData
  14. {
  15. public static async Task<ShopPacksModule> LoadPacks(string serverPort, string page)
  16. {
  17. try
  18. {
  19. string apiurl = $"https://api.whalleybot.com/bot/{serverPort}/GetPacks/{page}";
  20. var handler = new HttpClientHandler()
  21. {
  22. ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator
  23. };
  24. using (var client = new HttpClient(handler))
  25. {
  26. client.DefaultRequestHeaders.Add("Authorization", "WhalleyBotOverlay_e-H1rr55f");
  27. client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
  28. var apicall = await client.GetAsync(apiurl)
  29. .ConfigureAwait(false);
  30. var response = apicall;
  31. if (response.IsSuccessStatusCode)
  32. {
  33. var json = response.Content.ReadAsStringAsync().Result;
  34. ShopPacksModule Infoserver = JsonConvert.DeserializeObject<ShopPacksModule>(json);
  35. Form1Module.OverlayCanOpen = "On";
  36. Form1Module.OverlayCanOpenBackcolor = System.Drawing.Color.DarkGreen;
  37. Form1Module.OverlayCanOpenForecolor = System.Drawing.Color.White;
  38. return Infoserver;
  39. }
  40. else
  41. {
  42. if (response.StatusCode == System.Net.HttpStatusCode.BadRequest)
  43. {
  44. Form1Module.WarningMsg = response.ReasonPhrase;
  45. Form1Module.OverlayCanOpen = "On";
  46. Form1Module.OverlayCanOpenBackcolor = System.Drawing.Color.DarkGreen;
  47. Form1Module.OverlayCanOpenForecolor = System.Drawing.Color.White;
  48. }
  49. else
  50. {
  51. throw new Exception(response.ReasonPhrase + response.StatusCode);
  52. }
  53. return null;
  54. }
  55. }
  56. }
  57. catch (Exception ex)
  58. {
  59. Debug.WriteLine(ex.Source + ex.Message + ex.Data + ex.StackTrace);
  60. return null;
  61. }
  62. }
  63. }
  64. }