/// <summary> /// 以Json形式添加数据 /// </summary> /// <typeparam name="TModel"></typeparam> /// <param name="request"></param> /// <param name="model"></param> /// <returns></returns> public static HttpRequestMessage AddJsonContent <TModel>(this HttpRequestMessage request, TModel model) where TModel : class { var json = model == null ? "" : _jsonConvertor.Value .Serialize(model); return(request.AddContent(value: json)); }
/// <summary> /// 以字符串的形式添加数据 /// </summary> /// <param name="request"></param> /// <param name="value"></param> /// <param name="mediaType"></param> /// <returns></returns> public static HttpRequestMessage AddContent(this HttpRequestMessage request, string value, string mediaType = "application/json") { if (string.IsNullOrWhiteSpace(value)) { return(request); } var content = new StringContent(value, Constant.Encoding, mediaType); return(request.AddContent(content: content)); }
/// <summary> /// 以键值对的形式添加数据 /// </summary> /// <param name="request"></param> /// <param name="nameValue"></param> /// <returns></returns> public static HttpRequestMessage AddContent(this HttpRequestMessage request, IDictionary <string, string> nameValue) { foreach (var nv in nameValue) { var stringContent = new StringContent(nv.Value, Encoding.UTF8); stringContent.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("form-data") { Name = nv.Key }; request.AddContent(content: stringContent); } return(request); }
/// <summary> /// 添加文件Content /// </summary> /// <param name="request"></param> /// <param name="fileInfo"></param> /// <param name="name"></param> /// <returns></returns> public static HttpRequestMessage AddContent(this HttpRequestMessage request, FileInfo fileInfo, string name = null) { if (string.IsNullOrWhiteSpace(name)) { name = Guid.NewGuid().ToString(); } var stream = new StreamContent(fileInfo.OpenRead()); var content = new MultipartFormDataContent(); content.Add(stream, name, fileInfo.Name); return(request.AddContent(content: content)); }
public async Task <RestResponse> SendAsync <T>(HttpRequestMessage message, HttpMethod method, T content) { if (content != null) { message.AddContent(content, serializer); } using (var httpClient = CreateHttpClient()) { var response = await httpClient.SendAsync(message); if (response.IsSuccessStatusCode) { return(await RestResponse.CreateAsync(response)); } else { throw await RequestExceptionUtility.Make(response); } } }
/// <summary> /// 添加流Content /// </summary> /// <param name="request"></param> /// <param name="stream"></param> /// <returns></returns> public static HttpRequestMessage AddContent(this HttpRequestMessage request, Stream stream) { return(request.AddContent(content: new StreamContent(stream))); }
/// <summary> /// 以Json形式添加数据 /// </summary> /// <typeparam name="TModel"></typeparam> /// <param name="request"></param> /// <param name="model"></param> /// <returns></returns> public static HttpRequestMessage AddJsonContent <TModel>(this HttpRequestMessage request, TModel model) where TModel : class { var json = model == null ? string.Empty : model.ToJsonString(); return(request.AddContent(value: json)); }
public static void AddContent(this HttpRequestMessage request, IEnumerable <KeyValuePair <string, string> > keyValuePairs) => request.AddContent(new FormUrlEncodedContent(keyValuePairs));
// Posting URL-encoded key values with HttpClient // http://ronaldrosiernet.azurewebsites.net/Blog/2013/12/07/posting_urlencoded_key_values_with_httpclient public static void AddContent(this HttpRequestMessage request, JObject jObj) => request.AddContent(new StringContent(jObj.ToString(), System.Text.Encoding.UTF8, "application/json"));