List of usage examples for org.springframework.web.servlet.support ServletUriComponentsBuilder replaceQuery
@Override
public UriComponentsBuilder replaceQuery(@Nullable String query)
From source file:org.meruvian.yama.webapp.interceptor.OAuth2ClientContextInterceptor.java
/** * Calculate the current URI given the request. * //from w ww . j a v a 2 s . c o m * @param request The request. * @return The current uri. */ protected String calculateCurrentUri(HttpServletRequest request) throws UnsupportedEncodingException { ServletUriComponentsBuilder builder = ServletUriComponentsBuilder.fromRequest(request); // Now work around SPR-10172... String queryString = request.getQueryString(); boolean legalSpaces = queryString != null && queryString.contains("+"); if (legalSpaces) { builder.replaceQuery(queryString.replace("+", "%20")); } UriComponents uri = null; try { uri = builder.replaceQueryParam("code").build(true); } catch (IllegalArgumentException ex) { // ignore failures to parse the url (including query string). does't make sense // for redirection purposes anyway. return null; } String query = uri.getQuery(); if (legalSpaces) { query = query.replace("%20", "+"); } return ServletUriComponentsBuilder.fromUri(uri.toUri()).replaceQuery(query).build().toString(); }