public static async Task <T> GetJsonStreamAsync(Uri Url, string authorizationScheme, string authorizationToken, CancellationToken cancellationToken, TimeSpan httpTimeout) { var request = new HttpRequestMessage(HttpMethod.Get, Url); using (var client = new HttpClient { Timeout = httpTimeout }) { client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(authorizationScheme, authorizationToken); using (var response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead, cancellationToken)) { var stream = await response.Content.ReadAsStreamAsync(); if (response.IsSuccessStatusCode) { return(ClientHelpers.DeserializeJsonFromStream <T>(stream)); } var content = await ClientHelpers.StreamToStringAsync(stream); throw new Exception($"{ (int)response.StatusCode } { content}"); } } }
public static void PostJsonStream(T content, Uri Url, string authorizationScheme, string authorizationToken) { var client = new HttpClient(); var request = new HttpRequestMessage(HttpMethod.Post, Url); var httpContent = ClientHelpers.CreateHttpJsonContent <T>(content); request.Content = httpContent; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(authorizationScheme, authorizationToken); client.SendAsync(request); }
public static async Task PostJsonStreamAsync(T content, Uri Url, string authorizationScheme, string authorizationToken, CancellationToken cancellationToken) { var request = new HttpRequestMessage(HttpMethod.Post, Url); using (var client = new HttpClient()) using (var httpContent = ClientHelpers.CreateHttpJsonContent <T>(content)) { request.Content = httpContent; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(authorizationScheme, authorizationToken); using (var response = await client .SendAsync(request, HttpCompletionOption.ResponseHeadersRead, cancellationToken) .ConfigureAwait(false)) { response.EnsureSuccessStatusCode(); } } }