aboutsummaryrefslogtreecommitdiff
path: root/async-http-client-handler/future/src/main/scala/com/softwaremill
diff options
context:
space:
mode:
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.scala23
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)