diff options
Diffstat (limited to 'async-http-client-handler/future/src/main/scala/com/softwaremill')
-rw-r--r-- | async-http-client-handler/future/src/main/scala/com/softwaremill/sttp/asynchttpclient/future/FutureAsyncHttpClientHandler.scala | 23 |
1 files changed, 17 insertions, 6 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) |