List of usage examples for org.springframework.web.util UriComponentsBuilder fromHttpUrl
public static UriComponentsBuilder fromHttpUrl(String httpUrl)
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"; } }