Merge branch 'master' of https://github.com/dotnet/eShopOnContainers
This commit is contained in:
commit
7eb9acc758
@ -22,7 +22,7 @@ namespace eShopOnContainers.Core.Services.Order
|
|||||||
|
|
||||||
string uri = builder.ToString();
|
string uri = builder.ToString();
|
||||||
|
|
||||||
await _requestProvider.PostAsync(uri, newOrder, token);
|
await _requestProvider.PostAsync(uri, newOrder, token, "x-requestid");
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<ObservableCollection<Models.Orders.Order>> GetOrdersAsync(string token)
|
public async Task<ObservableCollection<Models.Orders.Order>> GetOrdersAsync(string token)
|
||||||
|
@ -8,6 +8,8 @@ namespace eShopOnContainers.Core.Services.RequestProvider
|
|||||||
|
|
||||||
Task<TResult> PostAsync<TResult>(string uri, TResult data, string token = "");
|
Task<TResult> PostAsync<TResult>(string uri, TResult data, string token = "");
|
||||||
|
|
||||||
|
Task<TResult> PostAsync<TResult>(string uri, TResult data, string token = "", string header = "");
|
||||||
|
|
||||||
Task<TResult> PostAsync<TRequest, TResult>(string uri, TRequest data, string token = "");
|
Task<TResult> PostAsync<TRequest, TResult>(string uri, TRequest data, string token = "");
|
||||||
|
|
||||||
Task<TResult> PutAsync<TResult>(string uri, TResult data, string token = "");
|
Task<TResult> PutAsync<TResult>(string uri, TResult data, string token = "");
|
||||||
|
@ -7,6 +7,7 @@ using System.Net.Http;
|
|||||||
using System.Net.Http.Headers;
|
using System.Net.Http.Headers;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using System;
|
||||||
|
|
||||||
namespace eShopOnContainers.Core.Services.RequestProvider
|
namespace eShopOnContainers.Core.Services.RequestProvider
|
||||||
{
|
{
|
||||||
@ -41,6 +42,27 @@ namespace eShopOnContainers.Core.Services.RequestProvider
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<TResult> PostAsync<TResult>(string uri, TResult data, string token = "", string header = "")
|
||||||
|
{
|
||||||
|
HttpClient httpClient = CreateHttpClient(token);
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(header))
|
||||||
|
{
|
||||||
|
AddHeaderParameter(httpClient, header);
|
||||||
|
}
|
||||||
|
|
||||||
|
HttpResponseMessage response = await httpClient.GetAsync(uri);
|
||||||
|
|
||||||
|
await HandleResponse(response);
|
||||||
|
|
||||||
|
string serialized = await response.Content.ReadAsStringAsync();
|
||||||
|
|
||||||
|
TResult result = await Task.Run(() =>
|
||||||
|
JsonConvert.DeserializeObject<TResult>(serialized, _serializerSettings));
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
public Task<TResult> PostAsync<TResult>(string uri, TResult data, string token = "")
|
public Task<TResult> PostAsync<TResult>(string uri, TResult data, string token = "")
|
||||||
{
|
{
|
||||||
return PostAsync<TResult, TResult>(uri, data, token);
|
return PostAsync<TResult, TResult>(uri, data, token);
|
||||||
@ -99,6 +121,17 @@ namespace eShopOnContainers.Core.Services.RequestProvider
|
|||||||
return httpClient;
|
return httpClient;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void AddHeaderParameter(HttpClient httpClient, string parameter)
|
||||||
|
{
|
||||||
|
if (httpClient == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (string.IsNullOrEmpty(parameter))
|
||||||
|
return;
|
||||||
|
|
||||||
|
httpClient.DefaultRequestHeaders.Add(parameter, Guid.NewGuid().ToString());
|
||||||
|
}
|
||||||
|
|
||||||
private async Task HandleResponse(HttpResponseMessage response)
|
private async Task HandleResponse(HttpResponseMessage response)
|
||||||
{
|
{
|
||||||
if (!response.IsSuccessStatusCode)
|
if (!response.IsSuccessStatusCode)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user