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