Skip to content

HTTP/2 support #1096

Open
Open
@bfg

Description

@bfg

Soon to be released netty 4.1 will include HTTP/2 codec pack.

It would be great if AHC 2.0 would support HTTP/2 natively.

examples: https://github.com/netty/netty/tree/4.1/example/src/main/java/io/netty/example/http2

Activity

slandelle

slandelle commented on Feb 17, 2016

@slandelle
Contributor

Soon to be released netty 4.1 will include HTTP/2 codec pack.

Sure, flagged as experimental.

It would be great if AHC 2.0 would support HTTP/2 natively.

No, because, AHC 2.0 will target Netty 4.0, not 4.1. Some big AHC users, such as Play!, need the intermediate step.

H2 support will only happen in AHC 2.1.

Then, the big question: do you plan on contributing and helping making it happen?

bfg

bfg commented on Feb 17, 2016

@bfg
ContributorAuthor

Okay, i understand; i didn't want to be insulting.

Now, the question; would it be possible to plug in http2 support by adding additional channel initialization or by adding ability to fully customize it?

slandelle

slandelle commented on Feb 17, 2016

@slandelle
Contributor

would it be possible to plug in http2 support by adding additional channel initialization or by adding ability to fully customize it?

I really don't think so. Handling multiplexing and server push will require a very different implementation regarding channel handling and API.

slandelle

slandelle commented on May 30, 2016

@slandelle
Contributor

I suspect AHC 2.1 will only support multiplexing, like OkHttp, ie no API change and no push.

added this to the 2.1.0 milestone on May 30, 2016
modified the milestone: 2.1.0 on Mar 11, 2017
scyiwei

scyiwei commented on Jan 29, 2018

@scyiwei

so do we have a plan for supporting http/2?

slandelle

slandelle commented on Jan 29, 2018

@slandelle
Contributor

@scyiwei By "we", do you mean you plan on contributing?

scyiwei

scyiwei commented on Jan 29, 2018

@scyiwei

I need http/2 to run performance test based on gatling. I am going to work on this if there is no plan.

slandelle

slandelle commented on Jan 29, 2018

@slandelle
Contributor

We've started working on HTTP/2 internally. Work with first be pushed in FrontLine, our Gatling Entreprise product, then Gatling. We'll port into AHC once we are confident with providing a public API and merging with existing AHC HTTP/1 code or rewrite it.

lpandzic

lpandzic commented on Mar 20, 2019

@lpandzic

@slandelle any news regarding HTTP/2 support? Anything community can help with?

slandelle

slandelle commented on Mar 20, 2019

@slandelle
Contributor

@lpandzic Not on my side.

I won't be working actively on this project anymore, just coordinating contributions.

I've moved Gatling to its own HTTP client so I can change things there without breaking public API and it does have a first take at HTTP/2 support.
You can maybe have a look and trying contributing here.
One of the hard things is that there are so many features in HTTP/2 that it's complicated to come up with a high level user-friendly API.

lpandzic

lpandzic commented on Mar 20, 2019

@lpandzic

So AHC is basically a dead project now since there's no longer an active maintainer? Any plans to add this information as a disclaimer to README.md?

RestfulBlue

RestfulBlue commented on Jul 17, 2019

@RestfulBlue

i also hope that support for http/2 multiplexing will be added 👍

slandelle

slandelle commented on Jul 17, 2019

@slandelle
Contributor

For sure, I'll never have the bandwidth on my own personal time to work on this.
Feel free to contribute.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      HTTP/2 support · Issue #1096 · AsyncHttpClient/async-http-client