Beispiel #1
0
        /// <summary>
        /// HttpResponse
        /// </summary>
        /// <param name="httpResponseMessage"></param>
        /// <param name="settings">JsonSerializerSettings</param>
        public HttpResponse(HttpResponseMessage httpResponseMessage, JsonSerializerSettings settings = null)
        {
            StatusCode = (int)httpResponseMessage.StatusCode;
            Headers    = httpResponseMessage.Headers;
            string bodyStr = httpResponseMessage.Content.ReadAsStringAsync().Result;

            if (!string.IsNullOrWhiteSpace(bodyStr))
            {
                Body = SnowLeopardJsonConvert.DeserializeObject <T>(bodyStr, settings);
            }
        }
Beispiel #2
0
 /// <summary>
 /// Json反序列化
 /// </summary>
 /// <typeparam name="T">返回类型</typeparam>
 /// <param name="input">Json字符串</param>
 /// <param name="settings">The JsonSerializer Settings</param>
 /// <returns>强类型</returns>
 public static T JsonDeserialize <T>(string input, JsonSerializerSettings settings = null)
 {
     try
     {
         T rv = SnowLeopardJsonConvert.DeserializeObject <T>(input, settings);
         return(rv);
     }
     catch
     {
         return(default(T));
     }
 }
Beispiel #3
0
        /// <summary>
        /// 发出Put请求
        /// </summary>
        /// <param name="url">请求路径</param>
        /// <param name="body">请求数据,将会被json序列化后放到请求报文体中</param>
        /// <param name="requestHeaders">请求额外的报文头信息</param>
        /// <param name="contentType">default to application/json</param>
        /// <returns></returns>
        public virtual async Task <HttpResponse <string> > PutAsync(
            string url,
            object body = null,
            HttpRequestHeaders requestHeaders = null,
            string contentType = "application/json"
            )
        {
            using (HttpRequestMessage requestMsg = new HttpRequestMessage(HttpMethod.Put, new Uri(url)))
            {
                requestMsg.ProcessHttpRequestHeaders(requestHeaders);
                requestMsg.Content = new StringContent(SnowLeopardJsonConvert.SerializeObject(body));
                requestMsg.Content.Headers.ContentType = new MediaTypeHeaderValue(contentType);

                return(await SendForStringAsync(requestMsg));
            }
        }
Beispiel #4
0
        /// <summary>
        /// 发出Delete请求
        /// </summary>
        /// <typeparam name="T">响应报文反序列类型</typeparam>
        /// <param name="url">请求路径</param>
        /// <param name="body">请求数据,将会被json序列化后放到请求报文体中</param>
        /// <param name="requestHeaders">请求额外的报文头信息</param>
        /// <param name="contentType">default to application/json</param>
        /// <param name="settings">JsonSerializerSettings</param>
        /// <returns></returns>
        public virtual async Task <HttpResponse <T> > DeleteAsync <T>(
            string url,
            object body = null,
            HttpRequestHeaders requestHeaders = null,
            string contentType = "application/json",
            JsonSerializerSettings settings = null
            )
        {
            using (HttpRequestMessage requestMsg = new HttpRequestMessage(HttpMethod.Delete, new Uri(url)))
            {
                requestMsg.ProcessHttpRequestHeaders(requestHeaders);
                requestMsg.Content = new StringContent(SnowLeopardJsonConvert.SerializeObject(body, settings));
                requestMsg.Content.Headers.ContentType = new MediaTypeHeaderValue(contentType);

                return(await SendAsync <T>(requestMsg));
            }
        }
Beispiel #5
0
 /// <summary>
 /// SetAsync
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="session"></param>
 /// <param name="key"></param>
 /// <param name="value"></param>
 /// <returns></returns>
 public static async Task SetAsync <T>(this ISession session, string key, T value)
 {
     session.SetString(key, SnowLeopardJsonConvert.SerializeObject(value));
     await session.CommitAsync();
 }