Example usage for org.springframework.web.servlet.support ServletUriComponentsBuilder build

List of usage examples for org.springframework.web.servlet.support ServletUriComponentsBuilder build

Introduction

In this page you can find the example usage for org.springframework.web.servlet.support ServletUriComponentsBuilder build.

Prototype

public UriComponents build() 

Source Link

Document

Build a UriComponents instance from the various components contained in this builder.

Usage

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);//from  w ww  .j  a v a 2s  . c  o m
    } else if (hasText(forwardedSsl) && forwardedSsl.equalsIgnoreCase("on")) {
        builder.scheme("https");
    }

    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.microservice.training.hal.HalBrowser.java

/**
 * Returns the View to redirect to to access the HAL browser.
 * //from ww  w. j  a v  a2 s  . c  om
 * @param request must not be {@literal null}.
 * @param browserRelative
 * @return
 */
private View getRedirectView(HttpServletRequest request, boolean browserRelative) {

    ServletUriComponentsBuilder builder = ServletUriComponentsBuilder.fromRequest(request);

    UriComponents components = builder.build();
    String path = components.getPath() == null ? "" : components.getPath();

    if (!browserRelative) {
        builder.path(BROWSER);
    }

    builder.path(INDEX);
    builder.fragment(browserRelative ? path.substring(0, path.lastIndexOf("/browser")) : path);

    return new RedirectView(builder.build().toUriString());
}

From source file:example.users.web.UserController.java

@RequestMapping(value = "/", method = RequestMethod.GET)
String index(Model model, //
        @QuerydslPredicate(root = User.class) Predicate predicate, //
        @PageableDefault(sort = { "lastname", "firstname" }) Pageable pageable, //
        @RequestParam MultiValueMap<String, String> parameters) {

    ServletUriComponentsBuilder builder = ServletUriComponentsBuilder.fromCurrentRequest();
    builder.replaceQueryParam("page", new Object[0]);

    model.addAttribute("baseUri", builder.build().toUri());
    model.addAttribute("users", repository.findAll(predicate, pageable));

    return "index";
}

From source file:example.web.UserController.java

@RequestMapping(value = "/", method = RequestMethod.GET)
String index(Model model, //
        @QuerydslPredicate(root = User.class) Predicate predicate, Pageable pageable, //
        @RequestParam MultiValueMap<String, String> parameters) {

    // TODO: 01 - Support for Querydsl predicates

    ServletUriComponentsBuilder builder = ServletUriComponentsBuilder.fromCurrentRequest();
    builder.replaceQueryParam("page", new Object[0]);

    model.addAttribute("baseUri", builder.build().toUri());
    model.addAttribute("users", repository.findAll(predicate, pageable));

    return "index";
}

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  v  a  2s.co m*/
 * @see io.spring.initializr.metadata.InitializrConfiguration.Env#isForceSsl()
 */
protected String generateAppUrl() {
    ServletUriComponentsBuilder builder = ServletUriComponentsBuilder.fromCurrentServletMapping();
    if (isForceSsl()) {
        builder.scheme("https");
    }
    return builder.build().toString();
}