Skip to content

Commit 602433e

Browse files
committed
better naming and document change (#223 and spring-projects/spring-framework#25768)
1 parent ac157b8 commit 602433e

File tree

17 files changed

+58
-50
lines changed

17 files changed

+58
-50
lines changed

src/changes/changes.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@
88

99
<body>
1010
<release version="2.61.0" date="April xx, 2022" description="Bugfixes">
11+
<action type="update" dev="rbri" issue="223">
12+
INCOMPATIBLE CHANGE: Method WebRequest.getRequestParameters() now returns
13+
parameters also from the url or the body if available. The new method
14+
WebRequest.getPlainRequestParameters() can be used if you like to have
15+
the old behaviour. Additionally setRequestParameters() was renamed to
16+
setPlainRequestParameters().
17+
This change was required to fix some issues with Spring MockMVC.
18+
</action>
1119
<action type="fix" dev="rbri">
1220
docu: various fixes regarding using the sonatype snapshot repository.
1321
</action>

src/main/java/com/gargoylesoftware/htmlunit/History.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ private static final class HistoryEntry implements Serializable {
7777

7878
final WebRequest request = page.getWebResponse().getWebRequest();
7979
webRequest_ = new WebRequest(request.getUrl(), request.getHttpMethod());
80-
webRequest_.setRequestUrlParameters(request.getRequestUrlParameters());
80+
webRequest_.setPlainRequestParameters(request.getPlainRequestParameters());
8181
}
8282

8383
Page getPage() {

src/main/java/com/gargoylesoftware/htmlunit/HttpWebConnection.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ private HttpUriRequest makeHttpMethod(final WebRequest webRequest, final HttpCli
306306
if (webRequest.getEncodingType() == FormEncodingType.URL_ENCODED && method instanceof HttpPost) {
307307
final HttpPost postMethod = (HttpPost) method;
308308
if (webRequest.getRequestBody() == null) {
309-
final List<NameValuePair> pairs = webRequest.getRequestUrlParameters();
309+
final List<NameValuePair> pairs = webRequest.getPlainRequestParameters();
310310
final String query = URLEncodedUtils.format(
311311
HttpClientConverter.nameValuePairsToHttpClient(pairs), charset);
312312

@@ -333,7 +333,7 @@ else if (webRequest.getEncodingType() == FormEncodingType.TEXT_PLAIN && method i
333333
final HttpPost postMethod = (HttpPost) method;
334334
if (webRequest.getRequestBody() == null) {
335335
final StringBuilder body = new StringBuilder();
336-
for (final NameValuePair pair : webRequest.getRequestUrlParameters()) {
336+
for (final NameValuePair pair : webRequest.getPlainRequestParameters()) {
337337
body.append(StringUtils.remove(StringUtils.remove(pair.getName(), '\r'), '\n'))
338338
.append('=')
339339
.append(StringUtils.remove(StringUtils.remove(pair.getValue(), '\r'), '\n'))
@@ -351,11 +351,11 @@ else if (webRequest.getEncodingType() == FormEncodingType.TEXT_PLAIN && method i
351351
}
352352
}
353353
else if (FormEncodingType.MULTIPART == webRequest.getEncodingType()) {
354-
final Charset c = getCharset(charset, webRequest.getRequestUrlParameters());
354+
final Charset c = getCharset(charset, webRequest.getPlainRequestParameters());
355355
final MultipartEntityBuilder builder = MultipartEntityBuilder.create().setLaxMode();
356356
builder.setCharset(c);
357357

358-
for (final NameValuePair pair : webRequest.getRequestUrlParameters()) {
358+
for (final NameValuePair pair : webRequest.getPlainRequestParameters()) {
359359
if (pair instanceof KeyDataPair) {
360360
buildFilePart((KeyDataPair) pair, builder);
361361
}
@@ -375,8 +375,8 @@ else if (FormEncodingType.MULTIPART == webRequest.getEncodingType()) {
375375
}
376376
else {
377377
// this is the case for GET as well as TRACE, DELETE, OPTIONS and HEAD
378-
if (!webRequest.getRequestUrlParameters().isEmpty()) {
379-
final List<NameValuePair> pairs = webRequest.getRequestUrlParameters();
378+
if (!webRequest.getPlainRequestParameters().isEmpty()) {
379+
final List<NameValuePair> pairs = webRequest.getPlainRequestParameters();
380380
final String query = URLEncodedUtils.format(
381381
HttpClientConverter.nameValuePairsToHttpClient(pairs), charset);
382382
uri = UrlUtils.toURI(url, query);

src/main/java/com/gargoylesoftware/htmlunit/MockWebConnection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ public HttpMethod getLastMethod() {
254254
* @return the parameters that were used in the last call to submitRequest()
255255
*/
256256
public List<NameValuePair> getLastParameters() {
257-
return lastRequest_.getRequestUrlParameters();
257+
return lastRequest_.getPlainRequestParameters();
258258
}
259259

260260
/**

src/main/java/com/gargoylesoftware/htmlunit/WebClient.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1535,7 +1535,7 @@ private WebResponse loadWebResponseFromWebConnection(final WebRequest webRequest
15351535

15361536
URL url = webRequest.getUrl();
15371537
final HttpMethod method = webRequest.getHttpMethod();
1538-
final List<NameValuePair> parameters = webRequest.getRequestUrlParameters();
1538+
final List<NameValuePair> parameters = webRequest.getPlainRequestParameters();
15391539

15401540
WebAssert.notNull("url", url);
15411541
WebAssert.notNull("method", method);
@@ -1676,7 +1676,7 @@ else if (status == HttpStatus.SC_TEMPORARY_REDIRECT
16761676
}
16771677
}
16781678
else {
1679-
wrs.setRequestUrlParameters(parameters);
1679+
wrs.setPlainRequestParameters(parameters);
16801680
}
16811681

16821682
for (final Map.Entry<String, String> entry : webRequest.getAdditionalHeaders().entrySet()) {
@@ -2475,7 +2475,7 @@ public void download(final WebWindow requestingWindow, final String target,
24752475
if (!forceLoad
24762476
&& url.getPath().equals(otherUrl.getPath()) // fail fast
24772477
&& url.toString().equals(otherUrl.toString())
2478-
&& request.getRequestUrlParameters().equals(otherRequest.getRequestUrlParameters())
2478+
&& request.getPlainRequestParameters().equals(otherRequest.getPlainRequestParameters())
24792479
&& StringUtils.equals(request.getRequestBody(), otherRequest.getRequestBody())) {
24802480
return; // skip it;
24812481
}

src/main/java/com/gargoylesoftware/htmlunit/WebRequest.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public enum HttpHint {
7777
private transient Set<HttpHint> httpHints_;
7878

7979
/* These two are mutually exclusive; additionally, requestBody_ should only be set for POST requests. */
80-
private List<NameValuePair> requestUrlParameters_ = Collections.emptyList();
80+
private List<NameValuePair> plainRequestParameters_ = Collections.emptyList();
8181
private String requestBody_;
8282

8383
/**
@@ -331,23 +331,23 @@ public List<NameValuePair> getRequestParameters() {
331331

332332
if (getEncodingType() == FormEncodingType.URL_ENCODED && HttpMethod.POST == getHttpMethod()) {
333333
if (getRequestBody() == null) {
334-
return getRequestUrlParameters();
334+
return getPlainRequestParameters();
335335
}
336336

337337
return HttpClientConverter.parseUrlQuery(getRequestBody(), getCharset());
338338
}
339339

340340
if (getEncodingType() == FormEncodingType.TEXT_PLAIN && HttpMethod.POST == getHttpMethod()) {
341341
if (getRequestBody() == null) {
342-
return getRequestUrlParameters();
342+
return getPlainRequestParameters();
343343
}
344344

345345
final List<NameValuePair> pairs = Collections.emptyList();
346346
return pairs;
347347
}
348348

349349
if (FormEncodingType.MULTIPART == getEncodingType()) {
350-
return getRequestUrlParameters();
350+
return getPlainRequestParameters();
351351
}
352352

353353
// for instance a PUT or PATCH request
@@ -361,8 +361,8 @@ public List<NameValuePair> getRequestParameters() {
361361
* combination with the {@link #setRequestBody(String) request body}.
362362
* @return the request parameters to use
363363
*/
364-
public List<NameValuePair> getRequestUrlParameters() {
365-
return requestUrlParameters_;
364+
public List<NameValuePair> getPlainRequestParameters() {
365+
return plainRequestParameters_;
366366
}
367367

368368
/**
@@ -372,18 +372,18 @@ public List<NameValuePair> getRequestUrlParameters() {
372372
* @param requestParameters the request parameters to use
373373
* @throws RuntimeException if the request body has already been set
374374
*/
375-
public void setRequestUrlParameters(final List<NameValuePair> requestParameters) throws RuntimeException {
375+
public void setPlainRequestParameters(final List<NameValuePair> requestParameters) throws RuntimeException {
376376
if (requestBody_ != null) {
377377
final String msg = "Trying to set the request parameters, but the request body has already been specified;"
378378
+ "the two are mutually exclusive!";
379379
throw new RuntimeException(msg);
380380
}
381-
requestUrlParameters_ = requestParameters;
381+
plainRequestParameters_ = requestParameters;
382382
}
383383

384384
/**
385385
* Returns the body content to be submitted if this is a <tt>POST</tt> request. Ignored for all other request
386-
* types. Should not be used in combination with {@link #setRequestUrlParameters(List) request parameters}.
386+
* types. Should not be used in combination with {@link #setPlainRequestParameters(List) request parameters}.
387387
* @return the body content to be submitted if this is a <tt>POST</tt> request
388388
*/
389389
public String getRequestBody() {
@@ -393,14 +393,14 @@ public String getRequestBody() {
393393
/**
394394
* Sets the body content to be submitted if this is a {@code POST}, {@code PUT} or {@code PATCH} request.
395395
* Ignored for all other request types.
396-
* Should not be used in combination with {@link #setRequestUrlParameters(List) request parameters}.
396+
* Should not be used in combination with {@link #setPlainRequestParameters(List) request parameters}.
397397
* @param requestBody the body content to be submitted if this is a {@code POST}, {@code PUT}
398398
* or {@code PATCH} request
399399
* @throws RuntimeException if the request parameters have already been set
400400
* or this is not a {@code POST}, {@code PUT} or {@code PATCH} request.
401401
*/
402402
public void setRequestBody(final String requestBody) throws RuntimeException {
403-
if (requestUrlParameters_ != null && !requestUrlParameters_.isEmpty()) {
403+
if (plainRequestParameters_ != null && !plainRequestParameters_.isEmpty()) {
404404
final String msg = "Trying to set the request body, but the request parameters have already been specified;"
405405
+ "the two are mutually exclusive!";
406406
throw new RuntimeException(msg);
@@ -587,7 +587,7 @@ public String toString() {
587587
.append("[<url=\"").append(url_).append('"')
588588
.append(", ").append(httpMethod_)
589589
.append(", ").append(encodingType_)
590-
.append(", ").append(requestUrlParameters_)
590+
.append(", ").append(plainRequestParameters_)
591591
.append(", ").append(additionalHeaders_)
592592
.append(", ").append(credentials_)
593593
.append(">]");

src/main/java/com/gargoylesoftware/htmlunit/html/HtmlForm.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ else if (anchor != null
338338
final WebRequest request = new WebRequest(url, browser.getHtmlAcceptHeader(),
339339
browser.getAcceptEncodingHeader());
340340
request.setHttpMethod(method);
341-
request.setRequestUrlParameters(parameters);
341+
request.setPlainRequestParameters(parameters);
342342
if (HttpMethod.POST == method) {
343343
request.setEncodingType(FormEncodingType.getInstance(getEnctypeAttribute()));
344344
}

src/main/java/com/gargoylesoftware/htmlunit/javascript/host/URLSearchParams.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ public void fillRequest(final WebRequest webRequest) {
449449
for (final NameValuePair entry : splitted) {
450450
params.add(new NameValuePair(entry.getName(), entry.getValue()));
451451
}
452-
webRequest.setRequestUrlParameters(params);
452+
webRequest.setPlainRequestParameters(params);
453453
}
454454
}
455455
}

src/main/java/com/gargoylesoftware/htmlunit/javascript/host/xml/FormData.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,6 @@ public Scriptable entries() {
290290
*/
291291
public void fillRequest(final WebRequest webRequest) {
292292
webRequest.setEncodingType(FormEncodingType.MULTIPART);
293-
webRequest.setRequestUrlParameters(requestParameters_);
293+
webRequest.setPlainRequestParameters(requestParameters_);
294294
}
295295
}

src/main/java/com/gargoylesoftware/htmlunit/util/DebuggingWebConnection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ protected void saveResponse(final WebResponse response, final WebRequest request
203203
.append("contentType: '").append(response.getContentType()).append("', ")
204204
.append("method: '").append(request.getHttpMethod().name()).append("', ");
205205
if (request.getHttpMethod() == HttpMethod.POST && request.getEncodingType() == FormEncodingType.URL_ENCODED) {
206-
bduiler.append("postParameters: ").append(nameValueListToJsMap(request.getRequestUrlParameters()))
206+
bduiler.append("postParameters: ").append(nameValueListToJsMap(request.getPlainRequestParameters()))
207207
.append(", ");
208208
}
209209
bduiler.append("url: '").append(escapeJSString(url.toString())).append("', ")

src/test/java/com/gargoylesoftware/htmlunit/WebClient6Test.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -439,9 +439,9 @@ private void redirectPost(final int code, final HttpMethod httpMethod,
439439
assertEquals(httpMethod, getMockWebConnection().getLastWebRequest().getHttpMethod());
440440

441441
if (resendParams) {
442-
assertTrue(getMockWebConnection().getLastWebRequest().getRequestUrlParameters().size() > 0);
442+
assertTrue(getMockWebConnection().getLastWebRequest().getPlainRequestParameters().size() > 0);
443443

444-
final NameValuePair param = getMockWebConnection().getLastWebRequest().getRequestUrlParameters().get(0);
444+
final NameValuePair param = getMockWebConnection().getLastWebRequest().getPlainRequestParameters().get(0);
445445
if ("param1".equals(param.getName())) {
446446
assertEquals("paramValue", param.getValue());
447447
}
@@ -453,7 +453,7 @@ else if (!param.getName().startsWith("ignore")) {
453453
}
454454
}
455455
else {
456-
assertEquals(0, getMockWebConnection().getLastWebRequest().getRequestUrlParameters().size());
456+
assertEquals(0, getMockWebConnection().getLastWebRequest().getPlainRequestParameters().size());
457457
}
458458

459459
// assertEquals(getExpectedAlerts()[0], getMockWebConnection().getLastWebRequest().getUrl().toString());

src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -842,7 +842,7 @@ private static void doService(final HttpServletRequest request, final HttpServle
842842
webRequest.setRequestBody(new String(buffer, webRequest.getCharset()));
843843
}
844844
else {
845-
webRequest.setRequestUrlParameters(requestParameters);
845+
webRequest.setPlainRequestParameters(requestParameters);
846846
}
847847

848848
// check content type if it is multipart enctype

src/test/java/com/gargoylesoftware/htmlunit/html/HtmlAnchorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -649,7 +649,7 @@ public void encoding() throws Exception {
649649
assertEquals(getExpectedAlerts()[0], driver.getCurrentUrl());
650650

651651
final List<NameValuePair> requestedParams =
652-
getMockWebConnection().getLastWebRequest().getRequestUrlParameters();
652+
getMockWebConnection().getLastWebRequest().getPlainRequestParameters();
653653
assertEquals(1, requestedParams.size());
654654
assertEquals(getExpectedAlerts()[1], requestedParams.get(0).getName());
655655
assertEquals(getExpectedAlerts()[2], requestedParams.get(0).getValue());

src/test/java/com/gargoylesoftware/htmlunit/html/HtmlForm2Test.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ public void encodingSubmit() throws Exception {
319319
assertEquals(getExpectedAlerts()[0], driver.getCurrentUrl());
320320

321321
final List<NameValuePair> requestedParams =
322-
getMockWebConnection().getLastWebRequest().getRequestUrlParameters();
322+
getMockWebConnection().getLastWebRequest().getPlainRequestParameters();
323323
assertEquals(1, requestedParams.size());
324324
assertEquals(getExpectedAlerts()[1], requestedParams.get(0).getName());
325325
assertEquals(getExpectedAlerts()[2], requestedParams.get(0).getValue());
@@ -1154,7 +1154,7 @@ public void submitUsingFormAttribute() throws Exception {
11541154
driver.findElement(new ById("mySubmit")).click();
11551155

11561156
final List<NameValuePair> requestedParams =
1157-
getMockWebConnection().getLastWebRequest().getRequestUrlParameters();
1157+
getMockWebConnection().getLastWebRequest().getPlainRequestParameters();
11581158
Collections.sort(requestedParams, Comparator.comparing(NameValuePair::getName));
11591159

11601160
assertEquals(getExpectedAlerts().length, requestedParams.size());
@@ -1209,7 +1209,7 @@ public void submitUsingFormAttributeElementsDeclaredBeforeForm() throws Exceptio
12091209
driver.findElement(new ById("mySubmit")).click();
12101210

12111211
final List<NameValuePair> requestedParams =
1212-
getMockWebConnection().getLastWebRequest().getRequestUrlParameters();
1212+
getMockWebConnection().getLastWebRequest().getPlainRequestParameters();
12131213
Collections.sort(requestedParams, Comparator.comparing(NameValuePair::getName));
12141214

12151215
assertEquals(getExpectedAlerts().length, requestedParams.size());
@@ -1249,7 +1249,7 @@ public void submitUsingFormAttributeElementsDeeplyNested() throws Exception {
12491249
driver.findElement(new ById("mySubmit")).click();
12501250

12511251
final List<NameValuePair> requestedParams =
1252-
getMockWebConnection().getLastWebRequest().getRequestUrlParameters();
1252+
getMockWebConnection().getLastWebRequest().getPlainRequestParameters();
12531253
Collections.sort(requestedParams, Comparator.comparing(NameValuePair::getName));
12541254

12551255
assertEquals(getExpectedAlerts().length, requestedParams.size());
@@ -1288,7 +1288,7 @@ public void submitFromInsideAnother() throws Exception {
12881288
driver.findElement(new ById("mySubmit")).click();
12891289

12901290
final List<NameValuePair> requestedParams =
1291-
getMockWebConnection().getLastWebRequest().getRequestUrlParameters();
1291+
getMockWebConnection().getLastWebRequest().getPlainRequestParameters();
12921292
Collections.sort(requestedParams, Comparator.comparing(NameValuePair::getName));
12931293

12941294
assertEquals(getExpectedAlerts().length, requestedParams.size());
@@ -1327,7 +1327,7 @@ public void submitFromInsideAnotherInvalidFormRef() throws Exception {
13271327
driver.findElement(new ById("mySubmit")).click();
13281328

13291329
final List<NameValuePair> requestedParams =
1330-
getMockWebConnection().getLastWebRequest().getRequestUrlParameters();
1330+
getMockWebConnection().getLastWebRequest().getPlainRequestParameters();
13311331
Collections.sort(requestedParams, Comparator.comparing(NameValuePair::getName));
13321332

13331333
assertEquals(getExpectedAlerts().length, requestedParams.size());
@@ -1466,7 +1466,7 @@ private void submitParams(final String controls) throws Exception {
14661466
driver.findElement(new ById("mySubmit")).click();
14671467

14681468
final List<NameValuePair> requestedParams =
1469-
getMockWebConnection().getLastWebRequest().getRequestUrlParameters();
1469+
getMockWebConnection().getLastWebRequest().getPlainRequestParameters();
14701470
Collections.sort(requestedParams, Comparator.comparing(NameValuePair::getName));
14711471

14721472
assertEquals(getExpectedAlerts().length, requestedParams.size());

0 commit comments

Comments
 (0)