public static T FromBytes <T>(IClientResponse <T> response, byte[] responseBytes) { using (MemoryStream ms = new MemoryStream(responseBytes)) { return(response.GetResponse(ms)); } }
//Private Methods private void DeserializeErrorData <T>(IClientResponse <T> response) { if (response.RestResponse.StatusCode == System.Net.HttpStatusCode.OK) { return; } if (response.RestResponse.StatusCode == System.Net.HttpStatusCode.Created) { return; } if (response.RestResponse.StatusCode == System.Net.HttpStatusCode.Accepted) { return; } if (response.RestResponse.StatusCode == System.Net.HttpStatusCode.NoContent) { return; } try { response.ResponseErrors = JsonConvert.DeserializeObject <List <Domain.Error> >(response.RestResponse.Content); } catch (JsonSerializationException ex) { log.Warn("Trouble Deserialize Error Object", ex); throw; } }
protected IClientResponse <bool> DeleteData(string resourceEndpoint) { IClientResponse <bool> clientResponse = null; //Just making sure you want to delete data --just for little extra safety if (_Configuration.AllowDeletions) { var request = new RestRequest(resourceEndpoint); var response = RestDelete <object>(request); clientResponse = new ClientResponse <bool>() { RestResponse = response, Data = response.StatusCode == System.Net.HttpStatusCode.NoContent ? true : false }; } else { clientResponse = new ClientResponse <bool>() { RestResponse = null, Data = false }; } DeserializeErrorData <bool>(clientResponse); return(clientResponse); }
private static async Task WriteResponseAsync(HttpContext context, IClientResponse response) { var serializer = new JsonSerializer(); var content = serializer.Serialize(response); context.Response.ContentType = "application/json"; await context.Response.WriteAsync(content); }
IClientResponse RedirectIfNeeded(IClientResponse response, MemoryRequest request) { if (response.Status.Code == 301 || response.Status.Code == 302 || response.Status.Code == 303 || response.Status.Code == 307) { return _client.CreateRequest(response.Headers["Location"].ToUri()).Method(request.Method).Send(); } return response; }
IClientResponse RedirectIfNeeded(IClientResponse response, MemoryRequest request) { if (response.Status.Code == 301 || response.Status.Code == 302 || response.Status.Code == 303 || response.Status.Code == 307) { return(_client.CreateRequest(response.Headers["Location"].ToUri()).Method(request.Method).Send()); } return(response); }