#112 - Added support for X-Forwarded-Ssl header during link construction.

This commit is contained in:
Ito Zapata
2013-10-19 17:58:35 -07:00
committed by Oliver Gierke
parent 9ec6f34a6f
commit 27069b82d6
2 changed files with 45 additions and 1 deletions

View File

@@ -158,7 +158,8 @@ public class ControllerLinkBuilder extends LinkBuilderSupport<ControllerLinkBuil
/**
* Returns a {@link UriComponentsBuilder} obtained from the current servlet mapping with the host tweaked in case the
* request contains an {@code X-Forwarded-Host} header.
* request contains an {@code X-Forwarded-Host} header and the scheme tweaked in case the request contains an
* {@code X-Forwarded-Ssl} header
*
* @return
*/
@@ -167,6 +168,12 @@ public class ControllerLinkBuilder extends LinkBuilderSupport<ControllerLinkBuil
HttpServletRequest request = getCurrentRequest();
ServletUriComponentsBuilder builder = ServletUriComponentsBuilder.fromServletMapping(request);
String forwardedSsl = request.getHeader("X-Forwarded-Ssl");
if (StringUtils.hasText(forwardedSsl) && forwardedSsl.equalsIgnoreCase("on")) {
builder.scheme("https");
}
String header = request.getHeader("X-Forwarded-Host");
if (!StringUtils.hasText(header)) {