From ca17efbc29b2b317d518d28f39f79776901c8e9e Mon Sep 17 00:00:00 2001 From: "nicolas.dorier" Date: Thu, 10 Oct 2019 09:49:03 +0900 Subject: [PATCH] Add missing file --- .../Hosting/HeadersOverrideMiddleware.cs | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 BTCPayServer/Hosting/HeadersOverrideMiddleware.cs diff --git a/BTCPayServer/Hosting/HeadersOverrideMiddleware.cs b/BTCPayServer/Hosting/HeadersOverrideMiddleware.cs new file mode 100644 index 000000000..e93c75010 --- /dev/null +++ b/BTCPayServer/Hosting/HeadersOverrideMiddleware.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Configuration; +using BTCPayServer.Configuration; + +namespace BTCPayServer.Hosting +{ + public class HeadersOverrideMiddleware + { + RequestDelegate _Next; + string overrideXForwardedProto; + public HeadersOverrideMiddleware(RequestDelegate next, + IConfiguration options) + { + _Next = next ?? throw new ArgumentNullException(nameof(next)); + overrideXForwardedProto = options.GetOrDefault("xforwardedproto", null); + } + + public async Task Invoke(HttpContext httpContext) + { + if (!string.IsNullOrEmpty(overrideXForwardedProto)) + { + httpContext.Request.Headers["X-Forwarded-Proto"] = overrideXForwardedProto; + } + await _Next(httpContext); + } + } +}