Q:

Spring Cloud Zuul Reverse Proxy doesnt fetch data from CouchDB when URL encoded

(UPDTED)
I created a Spring cloud Reverse proxy using spring-cloud-starter-zuul to forward all pouchDB-CouchDB requests through my proxy. and it forward all requests that are like http://10.16.33.221:8080/couchdb/**.
Here is my application.properties file
zuul.routes.couchdb.url=http://10.16.32.85:5984/

ribbon.eureka.enabled=false

server.port=8080

10.16.32.85:5984 is CouchDB address.
The problem occurred when pouchDB - CouchDB sync requests are forwarding. I found some URL-encoded Options and Get requests are sending by pouch DB as like follows (forward slash '/' is encoded to %2F)
http://10.16.33.221:8080/couchdb/inspection/RailCar%2Fbdbc936f-2c33-46f8-b037-ffa329aa4886?revs=true&latest=true&open_revs=%5B%227-fc6370e4d1cecca0fcc103b0e2763e1e%22%5D&_nonce=1483422848386

http://10.16.33.221:8080 is my proxy and inspection is DB name.
I found Those requests are throwing by apache tomcat due to the security issue. And as suggested here I added suggested configuration to allow encoded URLs to my Spring application. Then encoded URLs came to my application but doesn't get the response after forwarding that. 
For an example,
When I send following requests,
http://10.16.33.221:8080/couchdb/inspection/_changes?since=551

this gives required result. this request sending to CouchDB through my spring application(proxy). That means my proxy is working fine.
http://10.16.33.221:8080/couchdb/inspection/RailCar%2Fbdbc936f-2c33-46f8-b037-ffa329aa4886?revs=true&latest=true&open_revs=%5B%227-fc6370e4d1cecca0fcc103b0e2763e1e%22%5D&_nonce=1483422848386

this gives 404 not found as HTTP status. This request coming to the proxy but doest fetch result after forwarding it to the CouchDB.
But if I send the same URL to CouchDB directly as follows,
http://10.16.32.85:5984/inspection/RailCar%2fbdbc936f-2c33-46f8-b037-ffa329aa4886?revs=true&latest=true&open_revs=%5B%227-fc6370e4d1cecca0fcc103b0e2763e1e%22%5D&_nonce=1483422848386

It gives the requird response and 200 HTTP status.
But If I send the same URL with decoded forward slash to the CouchDB directly as follows
http://10.16.32.85:5984/inspection/RailCar/bdbc936f-2c33-46f8-b037-ffa329aa4886?revs=true&latest=true&open_revs=%5B%227-fc6370e4d1cecca0fcc103b0e2763e1e%22%5D&_nonce=1483422848386

it also gives 404 not found as HTTP status. Now I am confused what is going wrong and what I have to do. This problem wasted my whole week. So please give me any suggestion to overcome this.
updated-->
I used the jetty server to deploy the web application and for jetty no need to allow encoded forward slash. So I removed that configuration. Then encoded URLs like
http://10.16.33.221:8080/couchdb/inspection/RailCar%2Fbdbc936f-2c33-46f8-b037-ffa329aa4886?revs=true&latest=true&open_revs=%5B%227-fc6370e4d1cecca0fcc103b0e2763e1e%22%5D&_nonce=1483422848386

are coming to my proxy without any configuration for the encoded slash but, after forwarding, those also give 404 not found.
Thanks.

A:

Found the point what is going wrong. jetty and tomcat decodes the servlet path of the incoming URL and forwards them. But still, no solution for overcoming this problem. have to re-encode the servlet path using a filter or whatever. But incoming Http servlet request can't rewrite from the proxy. So can't imagine what to do :(

