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