Rewrite the condition to show Onion-Location in a more readable way

This commit is contained in:
nicolas.dorier 2021-01-05 13:44:08 +09:00
parent 7d21b39534
commit 0a6ea59254
No known key found for this signature in database
GPG key ID: 6618763EF09186FE

View file

@ -58,9 +58,14 @@ namespace BTCPayServer.Hosting
return;
}
if (!httpContext.Request.IsOnion() && (httpContext.Request.Headers["Accept"].ToString()
.StartsWith("text/html", StringComparison.InvariantCulture) && (
!httpContext.Request.Query.TryGetValue("view", out var view) || view != "modal")))
var isHtml = httpContext.Request.Headers.TryGetValue("Accept", out var accept)
&& accept.ToString().StartsWith("text/html", StringComparison.OrdinalIgnoreCase);
var isModal = httpContext.Request.Query.TryGetValue("view", out var view)
&& view.ToString().Equals("modal", StringComparison.OrdinalIgnoreCase);
if (!string.IsNullOrEmpty(_Env.OnionUrl) &&
!httpContext.Request.IsOnion() &&
isHtml &&
!isModal)
{
var onionLocation = _Env.OnionUrl + httpContext.Request.GetEncodedPathAndQuery();
httpContext.Response.SetHeader("Onion-Location", onionLocation);