From 9806cab0901c2e1aa2906edc2d09869f60e911bc Mon Sep 17 00:00:00 2001 From: "nicolas.dorier" Date: Fri, 13 Oct 2017 14:41:28 +0900 Subject: [PATCH] Fix Bitpay api route detection --- BTCPayServer/Filters/OnlyMediaTypeAttribute.cs | 8 +++++--- BTCPayServer/Program.cs | 1 - 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/BTCPayServer/Filters/OnlyMediaTypeAttribute.cs b/BTCPayServer/Filters/OnlyMediaTypeAttribute.cs index f434f9615..9592b6f73 100644 --- a/BTCPayServer/Filters/OnlyMediaTypeAttribute.cs +++ b/BTCPayServer/Filters/OnlyMediaTypeAttribute.cs @@ -43,7 +43,9 @@ namespace BTCPayServer.Filters public bool Accept(ActionConstraintContext context) { - return context.RouteContext.HttpContext.Request.Headers["x-accept-version"].Where(h => h == "2.0.0").Any() == IsBitpayAPI; + var hasVersion = context.RouteContext.HttpContext.Request.Headers["x-accept-version"].Where(h => h == "2.0.0").Any(); + var hasIdentity = context.RouteContext.HttpContext.Request.Headers["x-identity"].Any(); + return (hasVersion || hasIdentity) == IsBitpayAPI; } } @@ -69,8 +71,8 @@ namespace BTCPayServer.Filters public bool Accept(ActionConstraintContext context) { - var match = context.RouteContext.HttpContext.Request.Headers["Accept"].FirstOrDefault()?.StartsWith(MediaType, StringComparison.Ordinal); - return (match.HasValue && match.Value) == ExpectedValue; + var hasHeader = context.RouteContext.HttpContext.Request.Headers["Accept"].Any(m => m.StartsWith(MediaType, StringComparison.Ordinal)); + return hasHeader == ExpectedValue; } } } diff --git a/BTCPayServer/Program.cs b/BTCPayServer/Program.cs index 18acaecf3..5a9b92314 100644 --- a/BTCPayServer/Program.cs +++ b/BTCPayServer/Program.cs @@ -14,7 +14,6 @@ using System.Net; using System.Collections.Generic; using System.Collections; using Microsoft.AspNetCore.Hosting.Server.Features; -using Microsoft.Extensions.Logging; using System.Threading; namespace BTCPayServer