-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
http3: introduce an HTTP/3 error type #4039
Conversation
Codecov Report
@@ Coverage Diff @@
## master #4039 +/- ##
==========================================
- Coverage 83.59% 83.59% -0.00%
==========================================
Files 148 149 +1
Lines 15227 15267 +40
==========================================
+ Hits 12728 12761 +33
- Misses 1999 2005 +6
- Partials 500 501 +1
|
260a57c
to
45d8b89
Compare
(kgersen here). when using it with this PR we get:
so it works and it's better : we do get now a proper |
Which error are you looking at? Is this the error the client gets when performing a requests whose context has been canceled? I agree that the client should get a context error in that case, and the server should receive a H3_REQUEST_CANCELLED. |
yes it's the error received when performing a request whose context has been canceled (timeout after 1 second in the posted example). |
This PR is ok for me because it's cleaner since it follows the HTTP/3 error RFC. But when a context is cancelled or expire, we get a HTTP/3 error instead of the context error. Lines 296 to 300 in 824fd8a
With |
@jfgiorgi I agree. It's not immediately obvious though how to get the error, since this code is running in a separate Go routine, so you'll probably need to check the context before returning from |
I looked at this part of the code and compared to how it's done in But doing that in |
45d8b89
to
a47f6b4
Compare
@jfgiorgi Want to give it a shot? I'd be happy to review a PR :) |
tbh we're very uncertain about investing more time in quic-go. The Go team own QUIC implementation is around corner and their http/3 is probably next. |
Good point about API compatibility. Regarding the Go team’s QUIC effort, I wouldn’t place to much confidence in the reliability and performance of a QUIC stack that hasn’t even completed a single QUIC handshake so far… |
Fixes #3737.
@kgersen Would this resolve your issue? Would you mind reviewing / trying it out?