-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
HttpClient should report protocol error code when the server closes the connection #62228
Comments
Tagging subscribers to this area: @dotnet/ncl Issue DetailsDescriptionNoticed in #62216 Basically, the server is gracefully closing the HTTP/2 connection with protocol error of
This should be done in HTTP/2 and HTTP/3. Reproduction Steps
Expected behaviorException includes details about the protocol error, like SendAsync reports. Actual behavior
Regression?No Known WorkaroundsNo response ConfigurationNo response Other informationNo response
|
Triage:
|
@JamesNK is this about a more verbose exception message, or do you expect us to report the protocol error through some observable property? (Eg in an extra property in a derived |
Closing this in favor of #70684 |
Description
Noticed in #62216
Basically, the server is gracefully closing the HTTP/2 connection with protocol error of
ENHANCE_YOUR_CALM
. The error in the client from reading the response stream doesn't mention that error. Instead, the error isSystem.IO.IOException: The response ended prematurely while waiting for the next frame from the server.
.The error is technically correct, but it could be more helpful if it includes information that the server decided to proactively close the connection using GO_AWAY (or abort in HTTP/3). The protocol error is a clue to why the server decided to close the connection.
@geoffkizer #62216 (comment)
This should be done in HTTP/2 and HTTP/3.
Reproduction Steps
ReadAsync
.Expected behavior
Exception includes details about the protocol error, like SendAsync reports.
Actual behavior
Regression?
No
Known Workarounds
No response
Configuration
No response
Other information
No response
The text was updated successfully, but these errors were encountered: