If there is a URL like https://example.com/query?url=https%3A//example.net/try%3Fa%3Db%26c%3Dd, after process by Tarnhelm, the URL encode in URL parameter will be dropped, it turn into https://example.com/query?url=https://example.net/try?a=b&c=d. So c=d was recognized as a part of the first level rather than the second level. It's wrong.
I think Tarnhelm should keep the original form when no rule match the input.
If there is a URL like
https://example.com/query?url=https%3A//example.net/try%3Fa%3Db%26c%3Dd
, after process by Tarnhelm, the URL encode in URL parameter will be dropped, it turn intohttps://example.com/query?url=https://example.net/try?a=b&c=d
. Soc=d
was recognized as a part of the first level rather than the second level. It's wrong.I think Tarnhelm should keep the original form when no rule match the input.