No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

68 líneas
2.3 KiB

  1. using Newtonsoft.Json;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Diagnostics;
  5. using System.Linq;
  6. using System.Net.Http;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using Example.Models;
  10. namespace Example.Connectors
  11. {
  12. internal class APIGetSquads
  13. {
  14. public static List<SquadsModel> _SquadsList = new List<SquadsModel>();
  15. public static async Task<Dictionary<string, SquadsModel>> GetSquadsList(string serverPort)
  16. {
  17. try
  18. {
  19. string apiurl = $"https://api.whalleybot.com/bot/{serverPort}/GetSquads";
  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 response = await client.GetAsync(apiurl)
  29. .ConfigureAwait(false);
  30. //var response = apicall.GetAwaiter().GetResult();
  31. if (response.IsSuccessStatusCode)
  32. {
  33. var json = response.Content.ReadAsStringAsync().Result;
  34. //_SquadsList = JsonConvert.DeserializeObject<List<SquadsModel>>(json);
  35. //return _SquadsList;
  36. Dictionary<string, SquadsModel> squads = JsonConvert.DeserializeObject<Dictionary<string, SquadsModel>>(json);
  37. if (response.ReasonPhrase == "Newtonsoft.JsonError")
  38. {
  39. return null;
  40. }
  41. return squads;
  42. }
  43. else
  44. {
  45. throw new Exception(response.ReasonPhrase + response.StatusCode);
  46. }
  47. }
  48. }
  49. catch (Exception ex)
  50. {
  51. Debug.WriteLine(ex.Source + ex.Message + ex.Data + ex.StackTrace);
  52. return null;
  53. }
  54. }
  55. }
  56. }