[Haskell-cafe] Default http2 library to use for client side?
Ruben Astudillo
ruben.astud at gmail.com
Mon Apr 4 02:45:35 UTC 2022
Hello Cafe
I have been looking at hackage on what is the status for http2 **client**
libraries. I haven't be able to grasp what is the default or recommended
solution on this space. So far I have gotten the following impressions:
1. The usual candidates such as req / wreq libraries don't seem to support
it. This is caused by they being based on `http-client`.
2. There is an http2-client [1] library that fits the bill. It uses Kazu's
http2 [2] underneath, but it is upper bounded to major version 2 of that
library. Kazu's library is now at major version 3 and it cannot be made to
use the updated version easily.
3. Kazu's http2 library on major version 3 has a module called
Network.HTTP2.Client which is even more low-level than what the previous
option provided but it seems recently developed. It has a code sample.
4. Haskellers are not that interested on client side http2. I am no
expert on this protocol, but it seems that there is some compatibility on
it where you can make an http1.1 call and the server will handle it
transparently (don't quote me on this). But Haskellers certainly were
(are?) excited for http2 server support on warp which landed around
2015-2016.
I have concluded that using `http2` [2] with the client module as my best
bet. Is this analysis correct? or should I be looking a other packages that
I haven't considered?
Thanks for you time reading this email.
[1]: <https://hackage.haskell.org/package/http2-client>
[2]: <https://hackage.haskell.org/package/http2>
--
Rubén. (pgp: 1E88 3AC4 89EB FA22)
More information about the Haskell-Cafe
mailing list