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

HTTP2 support? #331

Open
sabino opened this issue Jun 8, 2018 · 11 comments
Open

HTTP2 support? #331

sabino opened this issue Jun 8, 2018 · 11 comments

Comments

@sabino
Copy link

sabino commented Jun 8, 2018

Any plans for http2 support?

This fork has it
https://github.com/sunng87/ring-jetty9-adapter

Is it possible to implement officially?

@weavejester
Copy link
Member

You mean update the Jetty adapter? The only blocker is that Jetty tends to use the latest JVM versions, so updating Jetty means updating the minimum JVM version. And there are always third-party adapters that support HTTP/2 like the one you linked. Ring itself doesn't care if you're sending data through HTTP 1.0, 1.1 or 2.

@sabino
Copy link
Author

sabino commented Jun 11, 2018

Hey @weavejester!
Yes, the adapter, sorry about not specifying it.

The thing is that I've opened a PR on another project and got this response:

Hey @sabino, thanks for this PR. We're looking forward to enabling HTTP 2 support, but we'd rather wait until it's supported upstream by Ring instead of switching to an unofficial fork.

That's why I'm asking if there are any plans for HTTP2 support officially.
Thank you!

@weavejester
Copy link
Member

It likely won't be for a while yet, as supporting HTTP/2 through Jetty requires updating the minimum required JVM version. For obvious reasons, we'd like to support as many JVM versions for as long as we can.

@pete23
Copy link

pete23 commented Jan 6, 2019

Any change on this issue now that Clojure 1.10 requires Java 8 as a minimum, and earlier versions are out of mainstream support?

@weavejester
Copy link
Member

Ring uses Jetty 9 now, so adding HTTP/2 support shouldn't be too much trouble.

@valerauko
Copy link

Do you have an image (spec?) how it should work?

@weavejester
Copy link
Member

I'm afraid I don't understand the question.

@valerauko
Copy link

There are a bunch of concepts in HTTP/2 that currently don't have a standard "ring way" to express them. For example server push sounds like something that might need some changes to the request-map response-map model. Do you have ideas how to expose stuff like that in the ring api?

I'm thinking of implementing HTTP/2 support in my fork of Aleph, and if ring had a spec for HTTP/2 stuff I'd follow that to stay compatible.

@weavejester
Copy link
Member

Adding HTTP/2 support to Ring's existing feature set shouldn't be too difficult, but adding support for new functionality like server push is something I haven't even begun to consider.

@kendagriff
Copy link

@weavejester: Did HTTP/2 support happen, or are you planning to switch your focus to Ring 2.0?

@weavejester
Copy link
Member

HTTP/2 support is part of Ring 2.0. However, other adapters can certainly implement it in the meantime, as least so far as the current Ring specification allows.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants