コード例 #1
0
ファイル: BinaryHelper.cs プロジェクト: devrelm/Zeroconf.NET
 public static T FromBytes <T>(IClientResponse <T> response, byte[] responseBytes)
 {
     using (MemoryStream ms = new MemoryStream(responseBytes))
     {
         return(response.GetResponse(ms));
     }
 }
コード例 #2
0
        //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;
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
 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;
 }
コード例 #6
0
ファイル: MemoryHttpClient.cs プロジェクト: llenroc/openwrap
 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);
 }