Allow : and @ unescaped in URL path and query #3870
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
RFC 3986 explicitly allows both
:and@to appear unescaped in URL path segments and query strings (pchar):However, zio-http currently percent-encodes these characters even when they appear in contexts where they are treated as data rather than delimiters.
This PR updates URL rendering to allow
:and@to remain unescaped in path and query segments both using theencodeComponentIntofunction.I specifically required this change with the google validateAddress with URL https://addressvalidation.googleapis.com/v1:validateAddress that does not work when its percent-encodes.
References