Gigahorse 

Gigahorse は、Scala のための HTTP クライアントで、内部にAsync Http ClientAkka HTTP を使うことができる。

セットアップ 

Async HTTP Client を使う場合:

libraryDependencies += "com.eed3si9n" %% "gigahorse-asynchttpclient" % "0.2.0"

Akka HTTP は現段階では実験的サポート:

libraryDependencies += "com.eed3si9n" %% "gigahorse-akka-http" % "0.2.0"

ライブラリ依存性 

Gigahorse-AsyncHttpClient は、Scala、AHC 2.0 (これは Netty 4 に依存している)、 Lightbend SSL Config、そして Lightbend Config に依存している。

Gigahorse-Akka-HTTP は現状では実験段階で、まだ実装されていない機能もある。

謝辞 

ライセンス 

Apache v2

クイックスタート 

Gigahorse を使った簡単な GET 呼び出しの例をみてみよう:

scala> import gigahorse._, support.asynchttpclient.Gigahorse
import gigahorse._
import support.asynchttpclient.Gigahorse

scala> import scala.concurrent._, duration._
import scala.concurrent._
import duration._

scala> Gigahorse.withHttp(Gigahorse.config) { http =>
         val r = Gigahorse.url("http://api.duckduckgo.com").get.
           addQueryString(
             "q" -> "1 + 1",
             "format" -> "json"
           )
         val f = http.run(r, Gigahorse.asString andThen {_.take(60)})
         Await.result(f, 120.seconds)
       }
res0: String = {"DefinitionSource":"","Heading":"1+1","ImageWidth":0,"Relat

Gigahorse