Skip to content

Commit 48097bb

Browse files
author
Stephane Landelle
committed
setQueryParams should also drop the query, close AsyncHttpClient#696
1 parent d78d481 commit 48097bb

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

api/src/main/java/org/asynchttpclient/RequestBuilderBase.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -438,16 +438,17 @@ public T setBody(BodyGenerator bodyGenerator) {
438438
}
439439

440440
public T addQueryParam(String name, String value) {
441-
if (queryParams == null) {
441+
if (queryParams == null)
442442
queryParams = new ArrayList<Param>(1);
443-
}
444443
queryParams.add(new Param(name, value));
445444
return derived.cast(this);
446445
}
447446

448-
public T addQueryParams(List<Param> queryParams) {
449-
for (Param queryParam: queryParams)
450-
addQueryParam(queryParam.getName(), queryParam.getValue());
447+
public T addQueryParams(List<Param> params) {
448+
if (queryParams == null)
449+
queryParams = params;
450+
else
451+
queryParams.addAll(params);
451452
return derived.cast(this);
452453
}
453454

@@ -469,6 +470,9 @@ public T setQueryParams(Map<String, List<String>> map) {
469470
}
470471

471472
public T setQueryParams(List<Param> params) {
473+
// reset existing query
474+
if (isNonEmpty(request.uri.getQuery()))
475+
request.uri = request.uri.withNewQuery(null);
472476
queryParams = params;
473477
return derived.cast(this);
474478
}

0 commit comments

Comments
 (0)