Version Matrix

Http4s Finagle

Build and Test

Server

To run Http4s app on Finagle Http server, simply just use Finagle.mkService to adapt Http4s HttpApp[F] to Fingale Service[Request, Response].

import org.http4s.finagle._

val http4sService: HttpApp[IO] = ???

val server = Http.server.serve(":8080", Finagle.mkService(http4sService))
Await.ready(server)

Client

import org.http4s.finagle._
import com.twitter.finagle.Http

val host = "blog.oyanglul.us"
Finagle.mkClient[IO](Http.client.withTls(host).newService(s"$host:443")).use {
  client: Client[IO] =>
  ...
}

Please refer to the Test which is fully functional server and client.