Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[TT-9327] Decoding the URL request first, before handling any additio…
…nal logic (#5345) <!-- Provide a general summary of your changes in the Title above --> this path works: /payment-intents but this path doesn't: /payment%2Dintents Encoded URLs aren't being rewritten when URL rewrite is applied. One edge case scenario that could break backwards compatibility (as described by @buger ), is that users can rely on escaped characters, and try to match them from the the url rewrite rules. In order to accomodate that, we are running url rewrite middleware twice: - once on the raw path - if transformations are failing and the url contains encoded characters, then we run it second time, with decoded URL <!-- Describe your changes in detail --> ## Related Issue <!-- This project only accepts pull requests related to open issues. --> <!-- If suggesting a new feature or change, please discuss it in an issue first. --> <!-- If fixing a bug, there should be an issue describing it with steps to reproduce. --> <!-- OSS: Please link to the issue here. Tyk: please create/link the JIRA ticket. --> ## Motivation and Context <!-- Why is this change required? What problem does it solve? --> ## How This Has Been Tested Unit test and manually ## Screenshots (if appropriate) ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [√ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Refactoring or add test (improvements in base code or adds test coverage to functionality) ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply --> <!-- If there are no documentation updates required, mark the item as checked. --> <!-- Raise up any additional concerns not covered by the checklist. --> - [ ] I ensured that the documentation is up to date - [ ] I explained why this PR updates go.mod in detail with reasoning why it's required - [ ] I would like a code coverage CI quality gate exception and have explained why
- Loading branch information