Map<String, String[]> queryParams = HstRequestUtils.parseQueryString(uri, curBaseURL.getURIEncoding()); localContainerURL = requestContext.getContainerURLProvider().parseURL(curResolvedMount, curContextPath, requestPathFromURL, queryParams, curBaseURL.getCharacterEncoding(), curBaseURL.getURIEncoding());
public HstContainerURL parseURL(HttpServletRequest request, HttpServletResponse response, ResolvedMount resolvedMount) { HstContainerURLImpl url = new HstContainerURLImpl(); url.setContextPath(request.getContextPath()); url.setHostName(HstRequestUtils.getFarthestRequestHost(request)); url.setPortNumber(HstRequestUtils.getRequestServerPort(request)); url.setRequestPath(HstRequestUtils.getRequestPath(request)); url.setCharacterEncoding(HstRequestUtils.getCharacterEncoding(request)); String uriEncoding = HstRequestUtils.getURIEncoding(request); url.setURIEncoding(uriEncoding); try { Map<String, String[]> paramMap = HstRequestUtils.parseQueryString(request); url.setParameters(paramMap); } catch (UnsupportedEncodingException e) { if (log.isDebugEnabled()) { log.warn("Unsupported encoding in request, using empty query parameters:", e); } else { log.warn("Unsupported encoding in request, using empty query parameters: " + e.toString()); } } url.setResolvedMountPath(resolvedMount.getResolvedMountPath()); url.setPathInfo(request.getPathInfo()); parseRequestInfo(url); return url; }