mirror of
https://github.com/apache/struts.git
synced 2026-08-11 09:36:57 +00:00
WW-4526 Checks if passed in scheme param is valid
(cherry picked from commit 3e2d5da)
This commit is contained in:
@@ -80,12 +80,17 @@ public class DefaultUrlHelper implements UrlHelper {
|
||||
return buildUrl(action, request, response, params, scheme, includeContext, encodeResult, forceAddSchemeHostAndPort, true);
|
||||
}
|
||||
|
||||
public String buildUrl(String action, HttpServletRequest request, HttpServletResponse response, Map<String, Object> params, String scheme,
|
||||
public String buildUrl(String action, HttpServletRequest request, HttpServletResponse response, Map<String, Object> params, String urlScheme,
|
||||
boolean includeContext, boolean encodeResult, boolean forceAddSchemeHostAndPort, boolean escapeAmp) {
|
||||
|
||||
StringBuilder link = new StringBuilder();
|
||||
boolean changedScheme = false;
|
||||
|
||||
String scheme = null;
|
||||
if (isValidScheme(urlScheme)) {
|
||||
scheme = urlScheme;
|
||||
}
|
||||
|
||||
// only append scheme if it is different to the current scheme *OR*
|
||||
// if we explicity want it to be appended by having forceAddSchemeHostAndPort = true
|
||||
if (forceAddSchemeHostAndPort) {
|
||||
@@ -234,6 +239,10 @@ public class DefaultUrlHelper implements UrlHelper {
|
||||
}
|
||||
}
|
||||
|
||||
protected boolean isValidScheme(String scheme) {
|
||||
return HTTP_PROTOCOL.equals(scheme) || HTTPS_PROTOCOL.equals(scheme);
|
||||
}
|
||||
|
||||
private String buildParameterSubstring(String name, String value) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append(encode(name));
|
||||
|
||||
Reference in New Issue
Block a user