diff options
Diffstat (limited to 'async-http-client-handler')
3 files changed, 36 insertions, 11 deletions
diff --git a/async-http-client-handler/future/src/main/scala/com/softwaremill/sttp/asynchttpclient/future/FutureAsyncHttpClientHandler.scala b/async-http-client-handler/future/src/main/scala/com/softwaremill/sttp/asynchttpclient/future/FutureAsyncHttpClientHandler.scala index 41fcf68..adc679e 100644 --- a/async-http-client-handler/future/src/main/scala/com/softwaremill/sttp/asynchttpclient/future/FutureAsyncHttpClientHandler.scala +++ b/async-http-client-handler/future/src/main/scala/com/softwaremill/sttp/asynchttpclient/future/FutureAsyncHttpClientHandler.scala @@ -12,12 +12,23 @@ import org.asynchttpclient.{ import scala.concurrent.{ExecutionContext, Future, Promise} -class FutureAsyncHttpClientHandler(asyncHttpClient: AsyncHttpClient)( - implicit ec: ExecutionContext = ExecutionContext.Implicits.global) - extends AsyncHttpClientHandler[Future](asyncHttpClient, new FutureMonad()) { - - def this() = this(new DefaultAsyncHttpClient()) - def this(cfg: AsyncHttpClientConfig) = this(new DefaultAsyncHttpClient(cfg)) +class FutureAsyncHttpClientHandler private (asyncHttpClient: AsyncHttpClient)( + implicit ec: ExecutionContext) + extends AsyncHttpClientHandler[Future](asyncHttpClient, new FutureMonad()) + +object FutureAsyncHttpClientHandler { + def apply()( + implicit ec: ExecutionContext = ExecutionContext.Implicits.global) + : FutureAsyncHttpClientHandler = + new FutureAsyncHttpClientHandler(new DefaultAsyncHttpClient()) + def usingConfig(cfg: AsyncHttpClientConfig)( + implicit ec: ExecutionContext = ExecutionContext.Implicits.global) + : FutureAsyncHttpClientHandler = + new FutureAsyncHttpClientHandler(new DefaultAsyncHttpClient()) + def usingClient(client: AsyncHttpClient)(implicit ec: ExecutionContext = + ExecutionContext.Implicits.global) + : FutureAsyncHttpClientHandler = + new FutureAsyncHttpClientHandler(client) } private[future] class FutureMonad(implicit ec: ExecutionContext) diff --git a/async-http-client-handler/monix/src/main/scala/com/softwaremill/sttp/asynchttpclient/monix/MonixAsyncHttpClientHandler.scala b/async-http-client-handler/monix/src/main/scala/com/softwaremill/sttp/asynchttpclient/monix/MonixAsyncHttpClientHandler.scala index 30106f2..fab9c98 100644 --- a/async-http-client-handler/monix/src/main/scala/com/softwaremill/sttp/asynchttpclient/monix/MonixAsyncHttpClientHandler.scala +++ b/async-http-client-handler/monix/src/main/scala/com/softwaremill/sttp/asynchttpclient/monix/MonixAsyncHttpClientHandler.scala @@ -21,6 +21,15 @@ class MonixAsyncHttpClientHandler(asyncHttpClient: AsyncHttpClient) def this(cfg: AsyncHttpClientConfig) = this(new DefaultAsyncHttpClient(cfg)) } +object MonixAsyncHttpClientHandler { + def apply(): MonixAsyncHttpClientHandler = + new MonixAsyncHttpClientHandler(new DefaultAsyncHttpClient()) + def usingConfig(cfg: AsyncHttpClientConfig): MonixAsyncHttpClientHandler = + new MonixAsyncHttpClientHandler(new DefaultAsyncHttpClient()) + def usingClient(client: AsyncHttpClient): MonixAsyncHttpClientHandler = + new MonixAsyncHttpClientHandler(client) +} + private[monix] object TaskMonad extends MonadAsyncError[Task] { override def unit[T](t: T): Task[T] = Task.now(t) diff --git a/async-http-client-handler/scalaz/src/main/scala/com/softwaremill/sttp/asynchttpclient/scalaz/ScalazAsyncHttpClientHandler.scala b/async-http-client-handler/scalaz/src/main/scala/com/softwaremill/sttp/asynchttpclient/scalaz/ScalazAsyncHttpClientHandler.scala index 57d65c6..cb3bdef 100644 --- a/async-http-client-handler/scalaz/src/main/scala/com/softwaremill/sttp/asynchttpclient/scalaz/ScalazAsyncHttpClientHandler.scala +++ b/async-http-client-handler/scalaz/src/main/scala/com/softwaremill/sttp/asynchttpclient/scalaz/ScalazAsyncHttpClientHandler.scala @@ -13,11 +13,16 @@ import org.asynchttpclient.{ import scalaz.{-\/, \/-} import scalaz.concurrent.Task -class ScalazAsyncHttpClientHandler(asyncHttpClient: AsyncHttpClient) - extends AsyncHttpClientHandler[Task](asyncHttpClient, TaskMonad) { - - def this() = this(new DefaultAsyncHttpClient()) - def this(cfg: AsyncHttpClientConfig) = this(new DefaultAsyncHttpClient(cfg)) +class ScalazAsyncHttpClientHandler private (asyncHttpClient: AsyncHttpClient) + extends AsyncHttpClientHandler[Task](asyncHttpClient, TaskMonad) + +object ScalazAsyncHttpClientHandler { + def apply(): ScalazAsyncHttpClientHandler = + new ScalazAsyncHttpClientHandler(new DefaultAsyncHttpClient()) + def usingConfig(cfg: AsyncHttpClientConfig): ScalazAsyncHttpClientHandler = + new ScalazAsyncHttpClientHandler(new DefaultAsyncHttpClient()) + def usingClient(client: AsyncHttpClient): ScalazAsyncHttpClientHandler = + new ScalazAsyncHttpClientHandler(client) } private[scalaz] object TaskMonad extends MonadAsyncError[Task] { |