Support null query param values in HtmlUnitRequestBuilder
Prior to this commit, HtmlUnitRequestBuilder would incorrectly attempt to decode null values for query parameters (i.e., query parameters such as 'error' in 'http://example.com/login?error') which resulted in a NullPointerException since URLDecoder.decode() does not support null values. This commit fixes this issue by ensuring that HtmlUnitRequestBuilder only attempts to decode non-null query parameter values. Issue: SPR-13524
This commit is contained in:
@@ -362,7 +362,10 @@ final class HtmlUnitRequestBuilder implements RequestBuilder, Mergeable {
|
||||
String name = values.getKey();
|
||||
for (String value : values.getValue()) {
|
||||
try {
|
||||
request.addParameter(name, URLDecoder.decode(value, "UTF-8"));
|
||||
if (value != null) {
|
||||
value = URLDecoder.decode(value, "UTF-8");
|
||||
}
|
||||
request.addParameter(name, value);
|
||||
}
|
||||
catch (UnsupportedEncodingException e) {
|
||||
throw new RuntimeException(e);
|
||||
|
||||
Reference in New Issue
Block a user