diff options
author | Piotr Gabara <piotr.gabara@hotmail.com> | 2017-08-27 20:06:52 +0200 |
---|---|---|
committer | Piotr Gabara <piotr.gabara@hotmail.com> | 2017-09-05 16:37:22 +0200 |
commit | e82346820797bb2d80d0fada7f17c5880871edce (patch) | |
tree | 1b972cfffadb9de0f6f0c99f842ada1d58662fb8 /okhttp-handler/monix/src/main | |
parent | febcdbcb4448fe1e754ecd08fb4df4bf6c6a211c (diff) | |
download | sttp-e82346820797bb2d80d0fada7f17c5880871edce.tar.gz sttp-e82346820797bb2d80d0fada7f17c5880871edce.tar.bz2 sttp-e82346820797bb2d80d0fada7f17c5880871edce.zip |
Make read and connection timeout configurable
Diffstat (limited to 'okhttp-handler/monix/src/main')
-rw-r--r-- | okhttp-handler/monix/src/main/scala/com/softwaremill/sttp/okhttp/monix/OkHttpMonixHandler.scala | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/okhttp-handler/monix/src/main/scala/com/softwaremill/sttp/okhttp/monix/OkHttpMonixHandler.scala b/okhttp-handler/monix/src/main/scala/com/softwaremill/sttp/okhttp/monix/OkHttpMonixHandler.scala index 31f4546..608d499 100644 --- a/okhttp-handler/monix/src/main/scala/com/softwaremill/sttp/okhttp/monix/OkHttpMonixHandler.scala +++ b/okhttp-handler/monix/src/main/scala/com/softwaremill/sttp/okhttp/monix/OkHttpMonixHandler.scala @@ -1,7 +1,7 @@ package com.softwaremill.sttp.okhttp.monix import java.nio.ByteBuffer -import java.util.concurrent.ArrayBlockingQueue +import java.util.concurrent.{ArrayBlockingQueue, TimeUnit} import com.softwaremill.sttp.{SttpHandler, _} import com.softwaremill.sttp.okhttp.{OkHttpAsyncHandler, OkHttpHandler} @@ -14,6 +14,7 @@ import okhttp3.{MediaType, OkHttpClient, RequestBody => OkHttpRequestBody} import okio.BufferedSink import scala.concurrent.Future +import scala.concurrent.duration.FiniteDuration import scala.util.{Failure, Success, Try} class OkHttpMonixHandler private (client: OkHttpClient, closeClient: Boolean)( @@ -84,10 +85,17 @@ object OkHttpMonixHandler { implicit s: Scheduler): SttpHandler[Task, Observable[ByteBuffer]] = new FollowRedirectsHandler(new OkHttpMonixHandler(client, closeClient)(s)) - def apply()(implicit s: Scheduler = Scheduler.Implicits.global) + def apply(connectionTimeout: FiniteDuration = SttpHandler.DefaultConnectionTimeout)( + implicit s: Scheduler = Scheduler.Implicits.global) : SttpHandler[Task, Observable[ByteBuffer]] = - OkHttpMonixHandler(OkHttpHandler.buildClientNoRedirects(), - closeClient = true)(s) + OkHttpMonixHandler( + OkHttpHandler + .defaultBuilder() + .connectTimeout(connectionTimeout.toMillis, TimeUnit.MILLISECONDS) + .readTimeout(SttpHandler.DefaultConnectionTimeout.toMillis, TimeUnit.MILLISECONDS) + .build(), + closeClient = true + )(s) def usingClient(client: OkHttpClient)(implicit s: Scheduler = Scheduler.Implicits.global) |