public static String appendQueryToUrl(String url, Map<String, Iterable<String>> params) { return appendQueryToUrl(url, buildQueryStringForUrl(params)); }
private String appendReturnUrlParameter(String redirectLocation, String currentRequestLocation) { String parameterName = getReturnUrlParameterName(); if (!isAppendReturnUrlParameter() || parameterName.isEmpty()) { return redirectLocation; } return URLUtils.appendQueryToUrl( redirectLocation, Collections.<String, Iterable<String>>singletonMap(parameterName, Collections.singleton(currentRequestLocation))); }
String create(String currentRequestLocation) { String parameterName = getReturnUrlParameterName(); if (!isAppendReturnUrlParameter() || parameterName.isEmpty()) { return getCompiledRedirect(currentRequestLocation); } return URLUtils.appendQueryToUrl(getCompiledRedirect(currentRequestLocation), Collections.<String, Iterable<String>>singletonMap(parameterName, Collections.singleton(currentRequestLocation))); }
public static String buildSubUrl(String url, String... subpaths) { URLPath urlPath = URLPath.fromString(subpaths); if (urlPath.isEmpty()) { return url; } String query = URLUtils.getQueryStringFromUrl(url); url = URLUtils.removeQueryStringFromUrl(url); if (!(url == null || url.isEmpty()) && !(url.endsWith("/"))) { url += "/"; } url += urlPath.asString(); url = URLUtils.appendQueryToUrl(url, query); return url; }