Integrations
Http Backend integrations
Http4s provides a frontend interface compatible with cats-effect, but it supports many different backend implementations
Backend |
Jdk Support |
Http4s Version(s) |
100% Nonblocking |
Http Client |
Http Server |
Websocket Client |
Websocket Server |
Proxy support (Client) |
Blaze |
8+ |
0.15+ |
☑︎ Nonblocking |
http4s-blaze-client |
http4s-blaze-server |
☒ |
☒ |
☒ |
Async Http Client |
8+ |
0.18+ |
☑︎ Nonblocking |
http4s-async-http-client |
☒ |
☒ |
☒ |
☑︎ |
Ember |
8+ |
0.21+ |
☑︎ Nonblocking |
http4s-ember-client |
http4s-ember-server |
? |
? |
☒ |
Jdk11 Http Client |
11+ |
0.21+ |
☑︎ Nonblocking |
http4s-jdk-http-client |
☒ |
☑︎ |
☒ |
☑︎ |
Jetty |
8+ |
All (0.2+) |
? |
☒ |
http4s-jetty |
|
|
☑︎ |
OkHttp |
8+ |
0.18+ |
☒ Blocking |
http4s-okhttp-client |
☒ |
☒ |
☒ |
☑︎ |
Entity integrations
Http4s has multiple smaller modules for Entity encoding and Decoding support of common types.
- Circe:
http4s-circe
. See the [json] docs for more.
- Scalatags:
http4s-scalatags
- Scala-Xml:
http4s-scala-xml