Gigahorse 

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

セットアップ 

Square OkHttp を使う場合:

libraryDependencies += "com.eed3si9n" %% "gigahorse-okhttp" % "0.3.0"

Async HTTP Client を使う場合:

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

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

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

ライブラリ依存性 

Gigahorse-OkHttp は、Scala と Square OkHttp に依存する。 他に Lightbend SSL Config、そして Lightbend Config にも依存している。

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

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

謝辞 

ライセンス 

Apache v2

クイックスタート 

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

scala> import gigahorse._, support.okhttp.Gigahorse
import gigahorse._
import support.okhttp.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