-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Issue #250 - Implement HTTP CONNECT for HTTP/2. #3539
Issue #250 - Implement HTTP CONNECT for HTTP/2. #3539
Conversation
@lachlan-roberts this is a draft pull request where I started the work to support #250 and ultimately #3537. |
Is there any value in doing the jetty-http2 specifics on |
Right now the |
fair enough |
I think this should be implemented with a Tunnel abstraction. |
452bbd0
to
7743708
Compare
Modified HTTP/2 implementation to support the CONNECT method. Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Implemented semantic defined by RFC 8441. Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
7743708
to
090ee92
Compare
Implemented handling of client-side idle timeout. Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
@sbordet what is the status of this? Should we merge it for an alpha 10? |
@gregw there is still work to do, hopefully I'll finish today. |
@gregw nope, I got a bunch of test failures and things to review and polish, so this won't make it for 10alpha0. |
Implemented handling of client-side idle timeout. Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Implemented section 8.3 of RFC 7540. Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
Signed-off-by: olivier lamy <oliver.lamy@gmail.com>
@sbordet CI test failed? |
This is too big to review without a walk through. Let's do it tomorrow. |
Yes the issue is the idle timeout race between the EndPoint connected to the proxy and the HTTP/2 stream that tunnels requests to the proxy onto that EndPoint. |
Introduced HTTP2Client.streamIdleTimeout. Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Implemented a few TODOs and improved logging. Some small code cleanups. Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
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.
LGTM - certainly good enough to be merged to alpha jetty-10. Let's dogfood it from here.
jetty-http2/http2-common/src/main/java/org/eclipse/jetty/http2/HTTP2Channel.java
Show resolved
Hide resolved
jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java
Outdated
Show resolved
Hide resolved
Final modifications after review. Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
#250.
Modified HTTP/2 implementation to support the CONNECT method.
Signed-off-by: Simone Bordet simone.bordet@gmail.com