Exactly same issue as this close one:
#1406
Per @spencergibb :
Have you tried the uri(URI) method?
I don't see a big difference between uri(URI) and uri(String). My question is that, do I have to manaully pass query strings into uri() method, or is there a way to be agnostic about query string and preserve them from the original request and only change the request path?