aboutsummaryrefslogtreecommitdiff
path: root/okhttp-handler/monix/src/main
diff options
context:
space:
mode:
authorPiotr Gabara <piotr.gabara@hotmail.com>2017-08-27 20:06:52 +0200
committerPiotr Gabara <piotr.gabara@hotmail.com>2017-09-05 16:37:22 +0200
commite82346820797bb2d80d0fada7f17c5880871edce (patch)
tree1b972cfffadb9de0f6f0c99f842ada1d58662fb8 /okhttp-handler/monix/src/main
parentfebcdbcb4448fe1e754ecd08fb4df4bf6c6a211c (diff)
downloadsttp-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.scala16
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)