Example #1
0
        public virtual async Task <ApiResult <TResponse, TError> > DeleteAsync <TResponse, TError>(String resource, Object data = null, MediaTypeFormatterEnum?mediaTypeFormatter = null)
        {
            var query = WwwFormUrlEncodedMediaTypeFormatter.Serialize(data);

            if (!String.IsNullOrWhiteSpace(query))
            {
                if (resource.Contains("?"))
                {
                    resource = $"{resource}&{query}";
                }
                else
                {
                    resource = $"{resource}?{query}";
                }
            }

            var result = await this._client.DeleteAsync(resource);

            if (result.StatusCode == HttpStatusCode.OK)
            {
                return new ApiResult <TResponse, TError> {
                           Response = await result.Content.ReadAsAsync <TResponse>()
                }
            }
            ;

            return(new ApiResult <TResponse, TError> {
                Error = await result.Content.ReadAsAsync <TError>()
            });
        }
Example #2
0
        public virtual TResponse Delete <TResponse>(String resource, Object data = null, MediaTypeFormatterEnum?mediaTypeFormatter = null)
        {
            var query = WwwFormUrlEncodedMediaTypeFormatter.Serialize(data);

            if (!String.IsNullOrWhiteSpace(query))
            {
                if (resource.Contains("?"))
                {
                    resource = $"{resource}&{query}";
                }
                else
                {
                    resource = $"{resource}?{query}";
                }
            }

            return(this._client.DeleteAsync(resource).Result.Content.ReadAsAsync <TResponse>().Result);
        }
Example #3
0
 public override Task WriteToStreamAsync(Type type, Object value, Stream writeStream, System.Net.Http.HttpContent content, System.Net.TransportContext transportContext, System.Threading.CancellationToken cancellationToken)
 {
     if (value == null)
     {
         return(Task.FromResult(0)); // Task.CompletedTask
     }
     else if (base.CanWriteType(type))
     {
         return(base.WriteToStreamAsync(type, value, writeStream, content, transportContext));
     }
     else
     {
         return(Task.Factory.StartNew(() =>
         {
             Byte[] bytes = encoding.GetBytes(WwwFormUrlEncodedMediaTypeFormatter.Serialize(value));
             writeStream.Write(bytes, 0, bytes.Length);
         }, cancellationToken));
     }
 }