Description
Describe the bug
we use yarp in front of an nexus server which hosting node packages.
Node packages urls can contains %2f instead of slash as part of the path.
yarp encode the percent again to %25 so the resulting path was wrongly modifed.
To Reproduce
GET https://nexus.domain.com/repository/npm-proxy/@types%2fcors
YARP convert the url to, but its wrong:
https://nexus.domain.com/repository/npm-proxy/@types%252fcors
YARP should not modify the path by default. If there is a special use case for duing that, it should be done by a feature flag
Further technical details
We tested it with new version 1.0.0 / .net 5.0
We analysed the issue in detail and found the reason for this issue: #
By fixing the issue #1219 a major change was done with path encoding.
The char '%' was not longer a valid path character for yarp. (Class RequestUtilities, Method: IsValidPathChar)
We temporary fix the issue by creating a custom request transformer and set the uri like RequestUtilities did it before.