Facebook
From Voluminous Hummingbird, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 232
  1.     private async Task<Object> getModel(UrlEnum url, String token,Type type)
  2.         {
  3.             dynamic toReturn;
  4.  
  5. #pragma warning disable CS0618 // Type or member is obsolete
  6.             ServicePointManager.CertificatePolicy = new CustomCertificatePolicy();
  7. #pragma warning restore CS0618 // Type or member is obsolete
  8.             _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
  9.             var response = await _httpClient.GetAsync(url.GetAttributeValue<UrlAttribute>().Url);
  10.             switch (response.StatusCode)
  11.             {
  12.                 case HttpStatusCode.OK: // 200
  13.                     toReturn = ToDeserialize<type.GetType().Name>(new type.GetType().Name, await response.Content.ReadAsStringAsync());
  14.                     break;
  15.                 case HttpStatusCode.BadRequest: // 400
  16.                     toReturn = ToDeserialize<ApiMessageModel>(new ApiMessageModel(), await response.Content.ReadAsStringAsync());
  17.                     break;
  18.                 default:
  19.                     toReturn = null;
  20.                     break;
  21.             }
  22.             return toReturn;
  23.         }
  24.  
  25.         private T ToDeserialize<T>(T deserializedObject, string jsonToDeserialize)
  26.         {
  27.             deserializedObject = JsonConvert.DeserializeObject<T>(jsonToDeserialize);
  28.             return deserializedObject;
  29.         }