Httpie: Support HTTP/2 (httpie-http2 plugin doesn't work)

Created on 4 Aug 2018  ·  7Comments  ·  Source: httpie/httpie

It's 2018 now, HTTP/2 is widely used, but httpie still doesn't support it out of the box. Let's fix this.

I know about httpie/httpie-http2, but there are issues with this approach:

  1. httpie/httpie-http2 doesn't come out of the box when httpie gets installed, many people would just never know that this plugin even exists.
  2. Linux distributions do not provide a package for that plugin.
  3. People have issues installing the plugin on macOS: https://github.com/jakubroztocil/httpie/issues/298#issuecomment-273360856.
  4. The entire code of httpie/httpie-http2 is just 20 lines (7 useful lines), integration will be trivial.
  5. Even curl supports HTTP/2 out of the box.

I see many benefits of supporting HTTP/2 natively. What are the downsides?

bug feature planned

Most helpful comment

same issue i guess curl will always be better its been more than year.

All 7 comments

I just tried to go through installation of the httpie/http2 plugin and it appears to be impossible to use it right now. The plugin depends on hyper project, which in turn depends on a very old version of hyperframe project. This old hyperframe is not available for my Arch Linux, so I cannot install hyper and thus httpie/http2 (well, I can _install_, but it crashes in runtime).

The request to update hyper and its dependencies is open since a year ago, with no response from the hyper's author. It seems to be abandoned.

Perhaps this issue should be rephrased to "implement support for HTTP/2". At this moment it is simply impossible to use HTTP/2 in any way via httpie.

@jakubroztocil Any thoughts? http2 plugin has lots of problems and it seems like nobody is maintaining that repo

bump @jakubroztocil

@jakubroztocil hitting this up again as I had a need to test http/2 from a CLI but had to fall back to curl to get it done :/

same issue i guess curl will always be better its been more than year.

I’d also love to have built-in HTTP2 support.

The httpie/httpie-http2 plugin is built on top python-hyper/hyper. That is the only HTTP2 solution for psf/requests I’m aware of and, sadly, it doesn’t seem to be actively maintained any longer.

I’m keeping an eye on encode/httpx. It comes with a built-in HTTP2 support and might become a replacement for requests at some point.

In any case, I’ll start by trying to fix the plugin. If successful, then I’ll look into bundling it with HTTPie. The general plugin installation issues will be addressed as well.

(Cc. @Lukasa @tomchristie @florimondmanca)

Yeah, hyper is basically unmaintained: it got superseded by hyper-h2 and the associated other building blocks, and simply stopped being the most important thing. Httpx is definitely the thing to keep an eye on.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sensibleish picture sensibleish  ·  3Comments

Govinda-Fichtner picture Govinda-Fichtner  ·  6Comments

cunde picture cunde  ·  7Comments

loretoparisi picture loretoparisi  ·  6Comments

pyvotal-cguers picture pyvotal-cguers  ·  5Comments