From b5f0c5387f7a98875f60fdf09c8dbe56e5c2766d Mon Sep 17 00:00:00 2001 From: adamw Date: Mon, 24 Jul 2017 17:01:20 +0200 Subject: Closing the async http client if created by sttp --- .../scalaz/ScalazAsyncHttpClientHandler.scala | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'async-http-client-handler/scalaz/src/main') 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 0460fff..f4de2eb 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 @@ -16,8 +16,11 @@ import org.reactivestreams.Publisher import scalaz.{-\/, \/-} import scalaz.concurrent.Task -class ScalazAsyncHttpClientHandler private (asyncHttpClient: AsyncHttpClient) - extends AsyncHttpClientHandler[Task, Nothing](asyncHttpClient, TaskMonad) { +class ScalazAsyncHttpClientHandler private (asyncHttpClient: AsyncHttpClient, + closeClient: Boolean) + extends AsyncHttpClientHandler[Task, Nothing](asyncHttpClient, + TaskMonad, + closeClient) { override protected def streamBodyToPublisher( s: Nothing): Publisher[ByteBuffer] = s // nothing is everything @@ -29,11 +32,13 @@ class ScalazAsyncHttpClientHandler private (asyncHttpClient: AsyncHttpClient) object ScalazAsyncHttpClientHandler { def apply(): ScalazAsyncHttpClientHandler = - new ScalazAsyncHttpClientHandler(new DefaultAsyncHttpClient()) + new ScalazAsyncHttpClientHandler(new DefaultAsyncHttpClient(), + closeClient = true) def usingConfig(cfg: AsyncHttpClientConfig): ScalazAsyncHttpClientHandler = - new ScalazAsyncHttpClientHandler(new DefaultAsyncHttpClient()) + new ScalazAsyncHttpClientHandler(new DefaultAsyncHttpClient(), + closeClient = true) def usingClient(client: AsyncHttpClient): ScalazAsyncHttpClientHandler = - new ScalazAsyncHttpClientHandler(client) + new ScalazAsyncHttpClientHandler(client, closeClient = false) } private[scalaz] object TaskMonad extends MonadAsyncError[Task] { -- cgit v1.2.3