This commit is contained in:
Zeeshaun
2026-03-13 09:27:34 -05:00
parent 256f579489
commit a675c5f5b0
381 changed files with 20992 additions and 0 deletions
@@ -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);
}
}