@@ -370,7 +370,12 @@ protected RequestBuilderBase(Class<T> derived, Request prototype) {
370
370
}
371
371
372
372
public T setUrl (String url ) {
373
- request .originalUri = buildURI (url );
373
+ return setURI (URI .create (url ));
374
+ }
375
+
376
+ public T setURI (URI uri ) {
377
+ request .originalUri = uri ;
378
+ addQueryParameters (request .originalUri );
374
379
request .uri = null ;
375
380
request .rawUri = null ;
376
381
return derived .cast (this );
@@ -386,32 +391,7 @@ public T setLocalInetAddress(InetAddress address) {
386
391
return derived .cast (this );
387
392
}
388
393
389
- private URI buildURI (String url ) {
390
- URI uri = URI .create (url );
391
-
392
- if (uri .getRawPath () == null ) {
393
- // AHC-96
394
- // Let's try to derive it
395
- StringBuilder buildedUrl = new StringBuilder ();
396
-
397
- if (uri .getScheme () != null ) {
398
- buildedUrl .append (uri .getScheme ());
399
- buildedUrl .append ("://" );
400
- }
401
-
402
- if (uri .getAuthority () != null ) {
403
- buildedUrl .append (uri .getAuthority ());
404
- }
405
- if (url .indexOf ("://" ) == -1 ) {
406
- String s = buildedUrl .toString ();
407
- url = s + url .substring (uri .getScheme ().length () + 1 );
408
- return buildURI (url );
409
- } else {
410
- throw new IllegalArgumentException ("Invalid url "
411
- + uri .toString ());
412
- }
413
- }
414
-
394
+ private void addQueryParameters (URI uri ) {
415
395
if (isNonEmpty (uri .getRawQuery ())) {
416
396
String [] queries = uri .getRawQuery ().split ("&" );
417
397
int pos ;
@@ -432,7 +412,6 @@ private URI buildURI(String url) {
432
412
}
433
413
}
434
414
}
435
- return uri ;
436
415
}
437
416
438
417
public T setVirtualHost (String virtualHost ) {
0 commit comments