Files
admins d70d81ebdf OneDrive Backup
OneDrive Backup
2023-07-28 22:36:06 +07:00

37 lines
1.1 KiB
C#

using hassio_onedrive_backup;
using Microsoft.Extensions.Primitives;
using onedrive_backup.Hass;
namespace onedrive_backup.Middleware
{
public class ExtractHassUrlMiddleware
{
private readonly RequestDelegate _next;
private HassContext _ingressSettings;
private IHostEnvironment _env;
public ExtractHassUrlMiddleware(RequestDelegate next, HassContext ingressSettings, IHostEnvironment env)
{
_next = next;
_ingressSettings = ingressSettings;
_env = env;
}
public async Task InvokeAsync(HttpContext context)
{
const string HeaderKeyName = "X-Ingress-Path";
if (context.Request.Headers.TryGetValue(HeaderKeyName, out StringValues headerValue))
{
_ingressSettings.HeaderIngressPath = headerValue.ToString();
ConsoleLogger.LogInfo($"X-Ingress-Path: {_ingressSettings.HeaderIngressPath}");
}
else if (_env.IsDevelopment())
{
_ingressSettings.HeaderIngressPath = "/";
}
await _next(context);
}
}
}