Add logging when api request comes in bad
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using System.Net.Mime;
|
||||
using System.Text;
|
||||
using Microsoft.AspNetCore.WebUtilities;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Newtonsoft.Json;
|
||||
using Treestar.Shared.Models;
|
||||
|
||||
@@ -10,10 +11,12 @@ public abstract class ApiAccessLayer
|
||||
{
|
||||
private readonly HttpClient _httpClient;
|
||||
private readonly IAccessLayerAuthenticationProvider _authenticationProvider;
|
||||
protected readonly ILogger Logger;
|
||||
|
||||
protected ApiAccessLayer(string apiBaseUrl, IAccessLayerAuthenticationProvider authenticationProvider)
|
||||
protected ApiAccessLayer(string apiBaseUrl, IAccessLayerAuthenticationProvider authenticationProvider, ILogger logger)
|
||||
{
|
||||
_authenticationProvider = authenticationProvider;
|
||||
Logger = logger;
|
||||
var handler = new HttpClientHandler()
|
||||
{
|
||||
ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator
|
||||
@@ -26,6 +29,10 @@ public abstract class ApiAccessLayer
|
||||
{
|
||||
await _authenticationProvider.AddAuthentication(message);
|
||||
var response = await _httpClient.SendAsync(message);
|
||||
if (!response.IsSuccessStatusCode)
|
||||
{
|
||||
Logger.LogError("Response returned status code {statusCode} with reason {reason} and content {content}", response.StatusCode, response.ReasonPhrase, await response.Content.ReadAsStringAsync());
|
||||
}
|
||||
return new HttpResponseWrapper()
|
||||
{
|
||||
HttpResponseMessage = response
|
||||
|
||||
Reference in New Issue
Block a user