Controllers can't pick up URL whose querystring delimited is URL encoded
I am using inversify with inverse-express-utils for our node web application.
Expected Behavior
Given I have a controller that has a route handler for GET /foo, when I go to the following URL: <base url>/foo%3Ftest=param I would expect my route handler would be hit.
Current Behavior
The route handler doesn't get hit because the %3F isn't decoded. If I go to <base url>/foo?test=param it does work.
Possible Solution
Ensure the %3F is decoded to a question mark.
Context
We don't have control over the URLs that are hitting our web application. We have Google ads that send a request to our web server and the querystring delimiter (?) comes through as %3F. Google have confirmed that this is "just how they do it" in this support page
Please let me know if you need any more info on this.