Adding
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
using Newtonsoft.Json;
|
||||
using Serilog;
|
||||
using System;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
|
||||
namespace LCU.API.Internal.RepoApi.Repos.Utilities
|
||||
{
|
||||
public class ClientHelpers : IClientHelpers
|
||||
{
|
||||
private readonly IHttpClientFactory _clientFactory;
|
||||
|
||||
public ClientHelpers(IHttpClientFactory clientFactory)
|
||||
{
|
||||
_clientFactory = clientFactory;
|
||||
}
|
||||
|
||||
public Uri CreateRequestUri(string clientUrl)
|
||||
{
|
||||
return new Uri(clientUrl);
|
||||
}
|
||||
|
||||
public HttpContent CreateHttpContent(string strPayload)
|
||||
{
|
||||
HttpContent content = new StringContent(strPayload, Encoding.UTF8, "application/json");
|
||||
return content;
|
||||
}
|
||||
|
||||
public HttpRequestMessage CreateGetHttpRequestMessage(string clientUrl, string apiKey)
|
||||
{
|
||||
var uri = CreateRequestUri(clientUrl);
|
||||
return CreateHttpRequestMessage(HttpMethod.Get, uri, apiKey);
|
||||
}
|
||||
|
||||
public HttpRequestMessage CreateHttpRequestMessage(HttpMethod method, Uri uri, string apiKey)
|
||||
{
|
||||
HttpRequestMessage request = new HttpRequestMessage()
|
||||
{
|
||||
Method = method,
|
||||
RequestUri = uri,
|
||||
};
|
||||
|
||||
request.Headers.Add("api-key", apiKey);
|
||||
|
||||
return request;
|
||||
}
|
||||
|
||||
public HttpResponseMessage SendHttpRequestMessage(HttpRequestMessage httpRequestMessage)
|
||||
{
|
||||
try
|
||||
{
|
||||
var client = _clientFactory.CreateClient();
|
||||
var response = client.SendAsync(httpRequestMessage).Result;
|
||||
|
||||
return response;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, "Failure in sending http request message.");
|
||||
return new HttpResponseMessage(HttpStatusCode.BadRequest);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
using System;
|
||||
using System.Net.Http;
|
||||
|
||||
namespace LCU.API.Internal.RepoApi.Repos.Utilities
|
||||
{
|
||||
internal interface IClientHelpers
|
||||
{
|
||||
Uri CreateRequestUri(string clientUrl);
|
||||
HttpContent CreateHttpContent(string payload);
|
||||
HttpRequestMessage CreateGetHttpRequestMessage(string clientUrl, string apiKey);
|
||||
HttpRequestMessage CreateHttpRequestMessage(HttpMethod method, Uri uri, string apiKey);
|
||||
HttpResponseMessage SendHttpRequestMessage(HttpRequestMessage httpRequestMessage);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user