Add logging when api request comes in bad
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
using System.Net.Mime;
|
using System.Net.Mime;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Microsoft.AspNetCore.WebUtilities;
|
using Microsoft.AspNetCore.WebUtilities;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Treestar.Shared.Models;
|
using Treestar.Shared.Models;
|
||||||
|
|
||||||
@@ -10,10 +11,12 @@ public abstract class ApiAccessLayer
|
|||||||
{
|
{
|
||||||
private readonly HttpClient _httpClient;
|
private readonly HttpClient _httpClient;
|
||||||
private readonly IAccessLayerAuthenticationProvider _authenticationProvider;
|
private readonly IAccessLayerAuthenticationProvider _authenticationProvider;
|
||||||
|
protected readonly ILogger Logger;
|
||||||
|
|
||||||
protected ApiAccessLayer(string apiBaseUrl, IAccessLayerAuthenticationProvider authenticationProvider)
|
protected ApiAccessLayer(string apiBaseUrl, IAccessLayerAuthenticationProvider authenticationProvider, ILogger logger)
|
||||||
{
|
{
|
||||||
_authenticationProvider = authenticationProvider;
|
_authenticationProvider = authenticationProvider;
|
||||||
|
Logger = logger;
|
||||||
var handler = new HttpClientHandler()
|
var handler = new HttpClientHandler()
|
||||||
{
|
{
|
||||||
ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator
|
ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator
|
||||||
@@ -26,6 +29,10 @@ public abstract class ApiAccessLayer
|
|||||||
{
|
{
|
||||||
await _authenticationProvider.AddAuthentication(message);
|
await _authenticationProvider.AddAuthentication(message);
|
||||||
var response = await _httpClient.SendAsync(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()
|
return new HttpResponseWrapper()
|
||||||
{
|
{
|
||||||
HttpResponseMessage = response
|
HttpResponseMessage = response
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ namespace WebNovelPortal.AccessLayers;
|
|||||||
|
|
||||||
public class WebApiAccessLayer : ApiAccessLayer
|
public class WebApiAccessLayer : ApiAccessLayer
|
||||||
{
|
{
|
||||||
public WebApiAccessLayer(string apiBaseUrl, IAccessLayerAuthenticationProvider authenticationProvider) : base(apiBaseUrl, authenticationProvider)
|
public WebApiAccessLayer(string apiBaseUrl, IAccessLayerAuthenticationProvider authenticationProvider, ILogger<WebApiAccessLayer> logger) : base(apiBaseUrl, authenticationProvider, logger)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ var builder = WebApplication.CreateBuilder(args);
|
|||||||
|
|
||||||
// Add services to the container.
|
// Add services to the container.
|
||||||
builder.Services.AddScoped<IAccessLayerAuthenticationProvider, BlazorAccessLayerAuthProvider>();
|
builder.Services.AddScoped<IAccessLayerAuthenticationProvider, BlazorAccessLayerAuthProvider>();
|
||||||
builder.Services.AddScoped(fac => new WebApiAccessLayer(builder.Configuration["WebAPIUrl"], fac.GetRequiredService<IAccessLayerAuthenticationProvider>()));
|
builder.Services.AddScoped(fac => new WebApiAccessLayer(builder.Configuration["WebAPIUrl"], fac.GetRequiredService<IAccessLayerAuthenticationProvider>(), fac.GetRequiredService<ILogger<WebApiAccessLayer>>()));
|
||||||
builder.Services.AddRazorPages();
|
builder.Services.AddRazorPages();
|
||||||
builder.Services.AddServerSideBlazor();
|
builder.Services.AddServerSideBlazor();
|
||||||
builder.Services.AddHttpContextAccessor();
|
builder.Services.AddHttpContextAccessor();
|
||||||
|
|||||||
@@ -5,5 +5,6 @@
|
|||||||
"Default": "Information",
|
"Default": "Information",
|
||||||
"Microsoft.AspNetCore": "Warning"
|
"Microsoft.AspNetCore": "Warning"
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
"WebAPIUrl": "http://seedboxnew:5433/api/"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user