-
Notifications
You must be signed in to change notification settings - Fork 5.3k
HTTP Version Selection #39201
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
Merged
ManickaP
merged 23 commits into
dotnet:master
from
ManickaP:mapichov/987_http_version_selection
Aug 12, 2020
Merged
HTTP Version Selection #39201
Changes from all commits
Commits
Show all changes
23 commits
Select commit
Hold shift + click to select a range
f31c191
VersionPolicy API added.
ManickaP 4abfab1
WIP Version Policy.
ManickaP f3fcff0
Cleared up some ToDos.
ManickaP 83b8844
Some more version upgrade/downgrade logic.
ManickaP 04a37a1
Enforce H2C in tests when ALPN is not available.
ManickaP 08f085b
Exception messages into resources.
ManickaP ce5f21e
Some fixes.
ManickaP 53a08d1
Loopback tests.
ManickaP 959f85f
RemoteServer tests and fixes.
ManickaP c0a731f
H3 assumed prenegotiated only when explicitly requested.
ManickaP e332222
Netfx compilaris
ManickaP 24df30f
Typo fixes
ManickaP d716c5a
ValueTask.FromException instead of throw
ManickaP 0129cc1
Merge branch 'master' into mapichov/987_http_version_selection
ManickaP ef11ae9
Merge branch 'master' into mapichov/987_http_version_selection
ManickaP cf25acb
Blocklisting H3 authority after failed connection attempt.
ManickaP ea57adf
Fixed merge
ManickaP 88343a1
H3 blocked alt-svc authority.
ManickaP f0b0676
Merge branch 'master' into mapichov/987_http_version_selection
ManickaP 962530b
Merge branch 'master' into mapichov/987_http_version_selection
ManickaP 2ed24f5
Adapted version selection tests to HttpAgnosticLoopbackServer
ManickaP 884a710
Merge branch 'master' into mapichov/987_http_version_selection
ManickaP 63f7b05
Addressed PR feedback.
ManickaP File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we construct this server with a
bool unencryptedProtocolDetection = falseand throw if!unencryptedProtocolDetection && !_options.UseSsl?I am worried that we will hide test bugs by accidentally using HTTP/1 when HTTP/2 was wanted, etc. -- this behavior should be off by default.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is enforced in
ClearTextVersioninHttpAgnosticOptionswhich defaults toHttpVersion.Version11.So unless you construct the server with
ClearTextVersion == HttpVersion.Unknownit won't do any unencrypted protocol detection.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed, I removed the default of HTTP/1.1 and I'm explicitly checking for
nullClearTextVersionand throwing if not set.