Skip to content

Commit

Permalink
Merge pull request #1116 from bhugot/add_X-Forwarded-Prefix_support
Browse files Browse the repository at this point in the history
add support for X-Forwarded-Prefix for path striping reverse proxy
  • Loading branch information
domaindrivendev committed Jul 8, 2017
2 parents a197dad + c693fec commit e7df06f
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 3 deletions.
3 changes: 2 additions & 1 deletion Swashbuckle.Core/Application/SwaggerDocsConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -306,11 +306,12 @@ public static string DefaultRootUrlResolver(HttpRequestMessage request)
var scheme = GetHeaderValue(request, "X-Forwarded-Proto") ?? request.RequestUri.Scheme;
var host = GetHeaderValue(request, "X-Forwarded-Host") ?? request.RequestUri.Host;
var port = GetHeaderValue(request, "X-Forwarded-Port") ?? request.RequestUri.Port.ToString(CultureInfo.InvariantCulture);
var prefix = GetHeaderValue(request, "X-Forwarded-Prefix") ?? string.Empty;

var httpConfiguration = request.GetConfiguration();
var virtualPathRoot = httpConfiguration.VirtualPathRoot;

var urb = new UriBuilder(scheme, host, int.Parse(port), virtualPathRoot);
var urb = new UriBuilder(scheme, host, int.Parse(port), prefix + virtualPathRoot);

return urb.Uri.AbsoluteUri.TrimEnd('/');
}
Expand Down
4 changes: 2 additions & 2 deletions Swashbuckle.Tests/Swagger/DefaultRootUrlResolverTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ public void It_provides_scheme_host_and_port_from_x_forwarded()
request.Headers.Add("X-Forwarded-Proto", "https");
request.Headers.Add("X-Forwarded-Host", "acmecorp.org");
request.Headers.Add("X-Forwarded-Port", "8080");

request.Headers.Add("X-Forwarded-Prefix", "/api");
var rootUrl = SwaggerDocsConfig.DefaultRootUrlResolver(request);

Assert.AreEqual("https://acmecorp.org:8080", rootUrl);
Assert.AreEqual("https://acmecorp.org:8080/api", rootUrl);
}

[TestCase("http://tempuri.org", "http://tempuri.org")]
Expand Down

0 comments on commit e7df06f

Please sign in to comment.