Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release/6.0-rc2] Implement UriCreationOptions #59274

Merged
merged 2 commits into from
Sep 17, 2021

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Sep 17, 2021

Backport of #59173 to release/6.0-rc2

Implements a minimal subset of #59099:
The Uri constructor overloads and the DangerousDisablePathAndQueryCanonicalization property of UriCreationOptions.

Fixes #52628
Fixes #58057

/cc @karelz @MihaZupan

Customer Impact

Larger services or SDKs (like AWS S3 ASK in #52628 and another customer in #58057) need to pass through Uris transparently from their source (e.g. Kestrel) to HttpClient.
HttpClient uses System.Uri which does validation and canonicalization per RFC and modifies some of the Uris in a way that breaks their end-customers.
We are introducing a new API flag which will allow the user to disable any canonicalization on Uri and take it “as is”.
Note: The API is part of a larger API surface we designed for 7.0. We are taking only the minimal part of it to 6.0 which is necessary to unblock customer scenarios.

Testing

We added targeted test cases.
We have extensive test coverage of existing behavior to ensure nothing regressed – all CI is green.

Risk

Low. All of the introduced code is gated behind the new flag. Impact on existing code paths is minimal.

Includes DangerousDisablePathAndQueryCanonicalization
@dotnet-issue-labeler
Copy link

Note regarding the new-api-needs-documentation label:

This serves as a reminder for when your PR is modifying a ref *.cs file and adding/modifying public APIs, to please make sure the API implementation in the src *.cs file is documented with triple slash comments, so the PR reviewers can sign off that change.

@ghost
Copy link

ghost commented Sep 17, 2021

Tagging subscribers to this area: @dotnet/ncl
See info in area-owners.md if you want to be subscribed.

Issue Details

Backport of #59173 to release/6.0-rc2

/cc @karelz @MihaZupan

Customer Impact

Testing

Risk

Author: github-actions[bot]
Assignees: -
Labels:

area-System.Net, new-api-needs-documentation

Milestone: -

@karelz karelz added this to the 6.0.0 milestone Sep 17, 2021
@karelz
Copy link
Member

karelz commented Sep 17, 2021

Approved by Tactics for RC2 in email.

@karelz karelz added the Servicing-approved Approved for servicing release label Sep 17, 2021
@danmoseley
Copy link
Member

failure is #44060

@danmoseley danmoseley merged commit 70f8bb2 into release/6.0-rc2 Sep 17, 2021
@danmoseley danmoseley deleted the backport/pr-59173-to-release/6.0-rc2 branch September 17, 2021 22:45
@ghost ghost locked as resolved and limited conversation to collaborators Nov 3, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants