Example usage for org.springframework.web.util UriComponentsBuilder fromHttpUrl

List of usage examples for org.springframework.web.util UriComponentsBuilder fromHttpUrl

Introduction

In this page you can find the example usage for org.springframework.web.util UriComponentsBuilder fromHttpUrl.

Prototype

public static UriComponentsBuilder fromHttpUrl(String httpUrl) 

Source Link

Document

Create a URI components builder from the given HTTP URL String.

Usage

From source file:org.springframework.web.util.WebUtils.java

/**
 * Check the given request origin against a list of allowed origins.
 * A list containing "*" means that all origins are allowed.
 * An empty list means only same origin is allowed.
 * @return true if the request origin is valid, false otherwise
 * @since 4.1.5//from  w w  w.j  a  v  a  2 s. c o  m
 * @see <a href="https://tools.ietf.org/html/rfc6454">RFC 6454: The Web Origin Concept</a>
 */
public static boolean isValidOrigin(HttpRequest request, Collection<String> allowedOrigins) {
    Assert.notNull(request, "Request must not be null");
    Assert.notNull(allowedOrigins, "Allowed origins must not be null");

    String origin = request.getHeaders().getOrigin();
    if (origin == null || allowedOrigins.contains("*")) {
        return true;
    } else if (allowedOrigins.isEmpty()) {
        UriComponents originComponents;
        try {
            originComponents = UriComponentsBuilder.fromHttpUrl(origin).build();
        } catch (IllegalArgumentException ex) {
            if (logger.isWarnEnabled()) {
                logger.warn("Failed to parse Origin header value [" + origin + "]");
            }
            return false;
        }
        UriComponents requestComponents = UriComponentsBuilder.fromHttpRequest(request).build();
        int originPort = getPort(originComponents);
        int requestPort = getPort(requestComponents);
        return (originComponents.getHost().equals(requestComponents.getHost()) && originPort == requestPort);
    } else {
        return allowedOrigins.contains(origin);
    }
}

From source file:software.coolstuff.springframework.owncloud.service.impl.rest.OwncloudRestResourceServiceTest.java

private RequestMatcher requestToWithPrefix(URI href) throws MalformedURLException {
    Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
    checkRestLocation();/*  w w w. java  2s. com*/
    URI uri = URI.create(UriComponentsBuilder.fromHttpUrl(properties.getLocation())
            .path(StringUtils.replace(DEFAULT_PATH, "{username}", authentication.getName()))
            .path(href.getPath()).toUriString());
    return requestTo(uri);
}

From source file:tds.student.web.backing.DialogFrameBacking.java

private String getContent(long bankKey, long itemKey) {
    try {/*from  ww w  .jav  a  2 s.  c  o m*/
        HttpServletRequest request = HttpContext.getCurrentContext().getRequest();
        final UriComponentsBuilder uriBuilder = UriComponentsBuilder
                .fromHttpUrl(request.getRequestURL().toString().replace("DialogFrame.aspx",
                        "API/DialogFrame.axd/getContent"))
                .queryParam("language", StudentContext.getLanguage()).queryParam("bankKey", bankKey)
                .queryParam("itemKey", itemKey);

        if (isNotBlank(request.getHeader(X_FORWARDED_HOST))) {
            uriBuilder.host(request.getHeader(X_FORWARDED_HOST));
        }
        if (isNotBlank(request.getHeader(X_FORWARDED_PORT))) {
            uriBuilder.port(Integer.valueOf(request.getHeader(X_FORWARDED_PORT), 10));
        }
        if (isNotBlank(request.getHeader(X_FORWARDED_PROTOCOL))) {
            uriBuilder.scheme(request.getHeader(X_FORWARDED_PROTOCOL));
        }

        if (_logger.isDebugEnabled()) {
            _logger.debug(
                    "REST API URL for getting Dialog Frame Content :: " + uriBuilder.build().toUriString());
        }
        HttpHeaders headers = new HttpHeaders();
        headers.setAccept(Arrays.asList(MediaType.APPLICATION_XML));
        HttpEntity<Object> httpEntity = new HttpEntity<Object>(headers);
        GenericRestAPIClient restApiClient = new GenericRestAPIClient(uriBuilder.build().toUriString());
        ResponseEntity<String> responseEntity = restApiClient.exchange(HttpMethod.GET, httpEntity,
                String.class);

        if (responseEntity.getStatusCode() != HttpStatus.OK) {
            throw new RuntimeException("Failed : HTTP error code : " + responseEntity.getStatusCode());
        }
        if (_logger.isDebugEnabled()) {
            _logger.debug("DialogFrame Content :: " + responseEntity.getBody());
        }

        return responseEntity.getBody().trim();

    } catch (Exception e) {
        _logger.error(e.getMessage(), e);
        return "Error while getting Content";
    }
}