List of usage examples for org.springframework.web.servlet.support ServletUriComponentsBuilder scheme
@Override
public UriComponentsBuilder scheme(@Nullable String scheme)
From source file:tv.arte.resteventapi.core.presentation.decoration.RestEventApiControllerLinkBuilder.java
/** * 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 and the scheme tweaked in case the request contains an * {@code X-Forwarded-Ssl} header/*from w w w. j a v a2s .c o m*/ * * @return */ static UriComponentsBuilder getBuilder() { 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 host = request.getHeader("X-Forwarded-Host"); if (!StringUtils.hasText(host)) { return builder; } String[] hosts = StringUtils.commaDelimitedListToStringArray(host); String hostToUse = hosts[0]; if (hostToUse.contains(":")) { String[] hostAndPort = StringUtils.split(hostToUse, ":"); builder.host(hostAndPort[0]); builder.port(Integer.parseInt(hostAndPort[1])); } else { builder.host(hostToUse); builder.port(-1); // reset port if it was forwarded from default port } String port = request.getHeader("X-Forwarded-Port"); if (StringUtils.hasText(port)) { builder.port(Integer.parseInt(port)); } return builder; }
From source file:springfox.documentation.swagger2.web.HostNameProvider.java
static UriComponents componentsFrom(HttpServletRequest request) { ServletUriComponentsBuilder builder = ServletUriComponentsBuilder.fromServletMapping(request); ForwardedHeader forwarded = ForwardedHeader.of(request.getHeader(ForwardedHeader.NAME)); String proto = hasText(forwarded.getProto()) ? forwarded.getProto() : request.getHeader("X-Forwarded-Proto"); String forwardedSsl = request.getHeader("X-Forwarded-Ssl"); if (hasText(proto)) { builder.scheme(proto); } else if (hasText(forwardedSsl) && forwardedSsl.equalsIgnoreCase("on")) { builder.scheme("https"); }//w w w. ja va 2 s . c o m String host = forwarded.getHost(); host = hasText(host) ? host : request.getHeader("X-Forwarded-Host"); if (!hasText(host)) { return builder.build(); } String[] hosts = commaDelimitedListToStringArray(host); String hostToUse = hosts[0]; if (hostToUse.contains(":")) { String[] hostAndPort = split(hostToUse, ":"); builder.host(hostAndPort[0]); builder.port(Integer.parseInt(hostAndPort[1])); } else { builder.host(hostToUse); builder.port(-1); // reset port if it was forwarded from default port } String port = request.getHeader("X-Forwarded-Port"); if (hasText(port)) { builder.port(Integer.parseInt(port)); } return builder.build(); }
From source file:com.github.hateoas.forms.spring.AffordanceBuilder.java
/** * 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 and the scheme tweaked in case the request contains an {@code X-Forwarded-Ssl} header * * @return builder//from w w w . j a va2 s .co m */ static UriComponentsBuilder getBuilder() { 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 host = request.getHeader("X-Forwarded-Host"); if (!StringUtils.hasText(host)) { return builder; } String[] hosts = StringUtils.commaDelimitedListToStringArray(host); String hostToUse = hosts[0]; if (hostToUse.contains(":")) { String[] hostAndPort = StringUtils.split(hostToUse, ":"); builder.host(hostAndPort[0]); builder.port(Integer.parseInt(hostAndPort[1])); } else { builder.host(hostToUse); builder.port(-1); // reset port if it was forwarded from default port } String port = request.getHeader("X-Forwarded-Port"); if (StringUtils.hasText(port)) { builder.port(Integer.parseInt(port)); } return builder; }
From source file:io.spring.initializr.web.project.AbstractInitializrController.java
/** * Generate a full URL of the service, mostly for use in templates. * @return the app URL/*from w ww. j a va2 s. c om*/ * @see io.spring.initializr.metadata.InitializrConfiguration.Env#isForceSsl() */ protected String generateAppUrl() { ServletUriComponentsBuilder builder = ServletUriComponentsBuilder.fromCurrentServletMapping(); if (isForceSsl()) { builder.scheme("https"); } return builder.build().toString(); }