Finch 0.3.0
This is another big step for Finch. An enormous work has been done by core contributors: @benjumanji, @rodrigopr and @rpless. Thank you guys!
The following changes are made:
- Finch is on Scala 2.11.4!
- Finch is now on
finagle-httpx
(Netty-free implementation of HTTP), which means that new client/server construction API may be used instead of deprecatedServerBuilder
:
Await.ready(Httpx.serve(new InetSocketAddress(8080), endpoint.toService))
- An
Endpoint
companion object has anapply
method that builds new endpoints on the fly:
val e = Endpoint[String, String] {
case Method.Get -> Root / "a" => ???
case Method.Get -> Root / "b" => ???
}
- Futures may be used instead of services in the
Endpoint
route's destination:
val e = Endpoint[String, String] {
case Method.Get -> Root / "a" -> "a".toFuture
case Method.Get -> Root / "b" -> stringService
}
- Finch supports the Argonaut library that provides purely functional JSON API.
- The code coverage has been dramatically improved.
Grab it on Maven Central:
libraryDependencies ++= Seq(
"com.github.finagle" %% "finch-module" % "0.3.0"
)