aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/main/scala/com/softwaremill/sttp/SttpHandler.scala1
-rw-r--r--okhttp-client-handler/src/main/scala/com/softwaremill/sttp/okhttp/OkHttpClientHandler.scala6
2 files changed, 5 insertions, 2 deletions
diff --git a/core/src/main/scala/com/softwaremill/sttp/SttpHandler.scala b/core/src/main/scala/com/softwaremill/sttp/SttpHandler.scala
index bdcc1b5..c6df151 100644
--- a/core/src/main/scala/com/softwaremill/sttp/SttpHandler.scala
+++ b/core/src/main/scala/com/softwaremill/sttp/SttpHandler.scala
@@ -11,6 +11,7 @@ import scala.language.higherKinds
trait SttpHandler[R[_], -S] {
def send[T](request: Request[T, S]): R[Response[T]]
def close(): Unit = {}
+
/**
* The monad in which the responses are wrapped. Allows writing wrapper
* handlers, which map/flatMap over the return value of [[send]].
diff --git a/okhttp-client-handler/src/main/scala/com/softwaremill/sttp/okhttp/OkHttpClientHandler.scala b/okhttp-client-handler/src/main/scala/com/softwaremill/sttp/okhttp/OkHttpClientHandler.scala
index b18fdbb..cb1103b 100644
--- a/okhttp-client-handler/src/main/scala/com/softwaremill/sttp/okhttp/OkHttpClientHandler.scala
+++ b/okhttp-client-handler/src/main/scala/com/softwaremill/sttp/okhttp/OkHttpClientHandler.scala
@@ -87,7 +87,9 @@ abstract class OkHttpClientHandler[R[_], S](client: OkHttpClient)
case ResponseAsByteArray => responseMonad.unit(res.body().bytes())
case MappedResponseAs(raw, g) =>
responseMonad.map(readResponseBody(res, raw), g)
- case ResponseAsStream() => responseMonad.error(new IllegalStateException("Streaming isn't supported"))
+ case ResponseAsStream() =>
+ responseMonad.error(
+ new IllegalStateException("Streaming isn't supported"))
}
}
}
@@ -127,7 +129,7 @@ class OkHttpFutureClientHandler private (client: OkHttpClient)(
promise.success(readResponse(response, r.responseAs))
})
- promise.future.flatten
+ responseMonad.flatten(promise.future)
}
override def responseMonad: MonadError[Future] = new FutureMonad