EdgegapIpApi.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System.Net;
  2. using System.Net.Http;
  3. using System.Threading.Tasks;
  4. using Edgegap.Editor.Api.Models.Results;
  5. namespace Edgegap.Editor.Api
  6. {
  7. /// <summary>
  8. /// Wraps the v1/ip API endpoint: "IP Lookup" API.
  9. /// - API Doc | https://docs.edgegap.com/api/#tag/IP-Lookup
  10. /// </summary>
  11. public class EdgegapIpApi : EdgegapApiBase
  12. {
  13. public EdgegapIpApi(
  14. ApiEnvironment apiEnvironment,
  15. string apiToken,
  16. EdgegapWindowMetadata.LogLevel logLevel = EdgegapWindowMetadata.LogLevel.Error)
  17. : base(apiEnvironment, apiToken, logLevel)
  18. {
  19. }
  20. #region API Methods
  21. /// <summary>
  22. /// GET to v1/app
  23. /// - Retrieve your public IP address.
  24. /// - API Doc | https://docs.edgegap.com/api/#tag/IP-Lookup/operation/IP
  25. /// </summary>
  26. /// <returns>
  27. /// Http info with GetCreateAppResult data model
  28. /// - Success: 200
  29. /// - Fail: 409 (app already exists), 400 (reached limit)
  30. /// </returns>
  31. public async Task<EdgegapHttpResult<GetYourPublicIpResult>> GetYourPublicIp()
  32. {
  33. HttpResponseMessage response = await GetAsync("v1/ip");
  34. EdgegapHttpResult<GetYourPublicIpResult> result = new EdgegapHttpResult<GetYourPublicIpResult>(response); // MIRROR CHANGE: 'new()' not supported in Unity 2020
  35. bool isSuccess = response.StatusCode == HttpStatusCode.OK; // 200
  36. if (!isSuccess)
  37. return result;
  38. return result;
  39. }
  40. #endregion // API Methods
  41. }
  42. }