[6.0] URLComponents: support http(s)+unix schemes #903
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.
Explanation: Percent-encode the host (instead of IDNA-encoding) for URLs with the
http+unix
orhttps+unix
scheme, supporting the common representation of a "HTTP over Unix socket" URL. This fixeshttp(s)+unix
-related regressions in clients such as Vapor and AsyncHTTPClient (see #863 and swift-server/async-http-client#767)Scope: Only impacts
http+unix
andhttps+unix
URLs, adds them to the set ofschemesToPercentEncodeHost
Original PR: #883
Risk: Low - narrow scope, added special casing of two schemes to a larger set that has been well tested
Testing: Local, swift-ci, stable in
main
for 2 weeks, verified to fix swift-server/async-http-client#767Reviewer: @parkera