aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--async-http-client-handler/cats/src/main/scala/com/softwaremill/sttp/asynchttpclient/cats/AsyncHttpClientCatsHandler.scala4
-rw-r--r--async-http-client-handler/fs2/src/main/scala/com/softwaremill/sttp/asynchttpclient/fs2/AsyncHttpClientFs2Handler.scala11
-rw-r--r--async-http-client-handler/monix/src/main/scala/com/softwaremill/sttp/asynchttpclient/monix/AsyncHttpClientMonixHandler.scala11
-rw-r--r--async-http-client-handler/scalaz/src/main/scala/com/softwaremill/sttp/asynchttpclient/scalaz/AsyncHttpClientScalazHandler.scala4
-rw-r--r--async-http-client-handler/src/main/scala/com/softwaremill/sttp/asynchttpclient/AsyncHttpClientHandler.scala15
-rw-r--r--core/src/main/scala/com/softwaremill/sttp/MonadError.scala14
-rw-r--r--core/src/main/scala/com/softwaremill/sttp/ResponseAs.scala2
-rw-r--r--core/src/main/scala/com/softwaremill/sttp/SttpHandler.scala4
-rw-r--r--core/src/main/scala/com/softwaremill/sttp/package.scala3
-rw-r--r--okhttp-handler/monix/src/main/scala/com/softwaremill/sttp/okhttp/monix/OkHttpMonixHandler.scala4
-rw-r--r--okhttp-handler/src/main/scala/com/softwaremill/sttp/okhttp/OkHttpClientHandler.scala12
11 files changed, 47 insertions, 37 deletions
diff --git a/async-http-client-handler/cats/src/main/scala/com/softwaremill/sttp/asynchttpclient/cats/AsyncHttpClientCatsHandler.scala b/async-http-client-handler/cats/src/main/scala/com/softwaremill/sttp/asynchttpclient/cats/AsyncHttpClientCatsHandler.scala
index fec0eab..a2c374a 100644
--- a/async-http-client-handler/cats/src/main/scala/com/softwaremill/sttp/asynchttpclient/cats/AsyncHttpClientCatsHandler.scala
+++ b/async-http-client-handler/cats/src/main/scala/com/softwaremill/sttp/asynchttpclient/cats/AsyncHttpClientCatsHandler.scala
@@ -59,9 +59,9 @@ private[cats] class AsyncMonad[F[_]](implicit F: Async[F])
override def unit[T](t: T): F[T] = F.pure(t)
- override def map[T, T2](fa: F[T], f: (T) => T2): F[T2] = F.map(fa)(f)
+ override def map[T, T2](fa: F[T])(f: (T) => T2): F[T2] = F.map(fa)(f)
- override def flatMap[T, T2](fa: F[T], f: (T) => F[T2]): F[T2] =
+ override def flatMap[T, T2](fa: F[T])(f: (T) => F[T2]): F[T2] =
F.flatMap(fa)(f)
override def error[T](t: Throwable): F[T] = F.raiseError(t)
diff --git a/async-http-client-handler/fs2/src/main/scala/com/softwaremill/sttp/asynchttpclient/fs2/AsyncHttpClientFs2Handler.scala b/async-http-client-handler/fs2/src/main/scala/com/softwaremill/sttp/asynchttpclient/fs2/AsyncHttpClientFs2Handler.scala
index dc30925..1686b25 100644
--- a/async-http-client-handler/fs2/src/main/scala/com/softwaremill/sttp/asynchttpclient/fs2/AsyncHttpClientFs2Handler.scala
+++ b/async-http-client-handler/fs2/src/main/scala/com/softwaremill/sttp/asynchttpclient/fs2/AsyncHttpClientFs2Handler.scala
@@ -4,7 +4,12 @@ import java.nio.ByteBuffer
import cats.effect._
import com.softwaremill.sttp.asynchttpclient.AsyncHttpClientHandler
-import com.softwaremill.sttp.{MonadAsyncError, SttpHandler, Utf8, concatByteBuffers}
+import com.softwaremill.sttp.{
+ MonadAsyncError,
+ SttpHandler,
+ Utf8,
+ concatByteBuffers
+}
import fs2._
import fs2.interop.reactivestreams._
import org.asynchttpclient.{
@@ -88,9 +93,9 @@ private[fs2] class EffectMonad[F[_]](implicit F: Effect[F])
override def unit[T](t: T): F[T] = F.pure(t)
- override def map[T, T2](fa: F[T], f: (T) => T2): F[T2] = F.map(fa)(f)
+ override def map[T, T2](fa: F[T])(f: (T) => T2): F[T2] = F.map(fa)(f)
- override def flatMap[T, T2](fa: F[T], f: (T) => F[T2]): F[T2] =
+ override def flatMap[T, T2](fa: F[T])(f: (T) => F[T2]): F[T2] =
F.flatMap(fa)(f)
override def error[T](t: Throwable): F[T] = F.raiseError(t)
diff --git a/async-http-client-handler/monix/src/main/scala/com/softwaremill/sttp/asynchttpclient/monix/AsyncHttpClientMonixHandler.scala b/async-http-client-handler/monix/src/main/scala/com/softwaremill/sttp/asynchttpclient/monix/AsyncHttpClientMonixHandler.scala
index 1ef3973..786f176 100644
--- a/async-http-client-handler/monix/src/main/scala/com/softwaremill/sttp/asynchttpclient/monix/AsyncHttpClientMonixHandler.scala
+++ b/async-http-client-handler/monix/src/main/scala/com/softwaremill/sttp/asynchttpclient/monix/AsyncHttpClientMonixHandler.scala
@@ -2,7 +2,12 @@ package com.softwaremill.sttp.asynchttpclient.monix
import java.nio.ByteBuffer
-import com.softwaremill.sttp.{MonadAsyncError, SttpHandler, Utf8, concatByteBuffers}
+import com.softwaremill.sttp.{
+ MonadAsyncError,
+ SttpHandler,
+ Utf8,
+ concatByteBuffers
+}
import com.softwaremill.sttp.asynchttpclient.AsyncHttpClientHandler
import monix.eval.Task
import monix.execution.{Cancelable, Scheduler}
@@ -77,9 +82,9 @@ object AsyncHttpClientMonixHandler {
private[monix] object TaskMonad extends MonadAsyncError[Task] {
override def unit[T](t: T): Task[T] = Task.now(t)
- override def map[T, T2](fa: Task[T], f: (T) => T2): Task[T2] = fa.map(f)
+ override def map[T, T2](fa: Task[T])(f: (T) => T2): Task[T2] = fa.map(f)
- override def flatMap[T, T2](fa: Task[T], f: (T) => Task[T2]): Task[T2] =
+ override def flatMap[T, T2](fa: Task[T])(f: (T) => Task[T2]): Task[T2] =
fa.flatMap(f)
override def async[T](
diff --git a/async-http-client-handler/scalaz/src/main/scala/com/softwaremill/sttp/asynchttpclient/scalaz/AsyncHttpClientScalazHandler.scala b/async-http-client-handler/scalaz/src/main/scala/com/softwaremill/sttp/asynchttpclient/scalaz/AsyncHttpClientScalazHandler.scala
index 4bc169d..aea6c0e 100644
--- a/async-http-client-handler/scalaz/src/main/scala/com/softwaremill/sttp/asynchttpclient/scalaz/AsyncHttpClientScalazHandler.scala
+++ b/async-http-client-handler/scalaz/src/main/scala/com/softwaremill/sttp/asynchttpclient/scalaz/AsyncHttpClientScalazHandler.scala
@@ -46,9 +46,9 @@ object AsyncHttpClientScalazHandler {
private[scalaz] object TaskMonad extends MonadAsyncError[Task] {
override def unit[T](t: T): Task[T] = Task.point(t)
- override def map[T, T2](fa: Task[T], f: (T) => T2): Task[T2] = fa.map(f)
+ override def map[T, T2](fa: Task[T])(f: (T) => T2): Task[T2] = fa.map(f)
- override def flatMap[T, T2](fa: Task[T], f: (T) => Task[T2]): Task[T2] =
+ override def flatMap[T, T2](fa: Task[T])(f: (T) => Task[T2]): Task[T2] =
fa.flatMap(f)
override def async[T](
diff --git a/async-http-client-handler/src/main/scala/com/softwaremill/sttp/asynchttpclient/AsyncHttpClientHandler.scala b/async-http-client-handler/src/main/scala/com/softwaremill/sttp/asynchttpclient/AsyncHttpClientHandler.scala
index f8122cc..8b908cb 100644
--- a/async-http-client-handler/src/main/scala/com/softwaremill/sttp/asynchttpclient/AsyncHttpClientHandler.scala
+++ b/async-http-client-handler/src/main/scala/com/softwaremill/sttp/asynchttpclient/AsyncHttpClientHandler.scala
@@ -139,12 +139,12 @@ abstract class AsyncHttpClientHandler[R[_], S](asyncHttpClient: AsyncHttpClient,
val b = if (codeIsSuccess(baseResponse.code)) {
rm.unit(Right(responseAs.responseIsStream(s)))
} else {
- rm.map(publisherToString(p), Left(_: String))
+ rm.map(publisherToString(p))(Left(_))
}
- success(rm.map(b, { bb: Either[String, T] =>
+ success(rm.map(b) { bb: Either[String, T] =>
baseResponse.copy(body = bb)
- }))
+ })
}
}
@@ -235,13 +235,14 @@ abstract class AsyncHttpClientHandler[R[_], S](asyncHttpClient: AsyncHttpClient,
val base = readResponseNoBody(response)
val body = if (codeIsSuccess(base.code)) {
- rm.map(eagerResponseHandler(response).handle(responseAs, rm), Right(_: T))
+ rm.map(eagerResponseHandler(response).handle(responseAs, rm))(Right(_))
} else {
- rm.map(eagerResponseHandler(response).handle(asString, rm),
- Left(_: String))
+ rm.map(eagerResponseHandler(response).handle(asString, rm))(Left(_))
}
- rm.map(body, (b: Either[String, T]) => base.copy(body = b))
+ rm.map(body) { b: Either[String, T] =>
+ base.copy(body = b)
+ }
}
private def readResponseNoBody(response: AsyncResponse): Response[Unit] = {
diff --git a/core/src/main/scala/com/softwaremill/sttp/MonadError.scala b/core/src/main/scala/com/softwaremill/sttp/MonadError.scala
index 604e964..34edb0a 100644
--- a/core/src/main/scala/com/softwaremill/sttp/MonadError.scala
+++ b/core/src/main/scala/com/softwaremill/sttp/MonadError.scala
@@ -6,11 +6,11 @@ import scala.util.{Failure, Success, Try}
trait MonadError[R[_]] {
def unit[T](t: T): R[T]
- def map[T, T2](fa: R[T], f: T => T2): R[T2]
- def flatMap[T, T2](fa: R[T], f: T => R[T2]): R[T2]
+ def map[T, T2](fa: R[T])(f: T => T2): R[T2]
+ def flatMap[T, T2](fa: R[T])(f: T => R[T2]): R[T2]
def error[T](t: Throwable): R[T]
- def flatten[T](ffa: R[R[T]]): R[T] = flatMap[R[T], T](ffa, identity)
+ def flatten[T](ffa: R[R[T]]): R[T] = flatMap[R[T], T](ffa)(identity)
def fromTry[T](t: Try[T]): R[T] = t match {
case Success(v) => unit(v)
@@ -24,8 +24,8 @@ trait MonadAsyncError[R[_]] extends MonadError[R] {
object IdMonad extends MonadError[Id] {
override def unit[T](t: T): Id[T] = t
- override def map[T, T2](fa: Id[T], f: (T) => T2): Id[T2] = f(fa)
- override def flatMap[T, T2](fa: Id[T], f: (T) => Id[T2]): Id[T2] = f(fa)
+ override def map[T, T2](fa: Id[T])(f: (T) => T2): Id[T2] = f(fa)
+ override def flatMap[T, T2](fa: Id[T])(f: (T) => Id[T2]): Id[T2] = f(fa)
override def error[T](t: Throwable): Id[T] = throw t
}
@@ -33,8 +33,8 @@ class FutureMonad(implicit ec: ExecutionContext)
extends MonadAsyncError[Future] {
override def unit[T](t: T): Future[T] = Future.successful(t)
- override def map[T, T2](fa: Future[T], f: (T) => T2): Future[T2] = fa.map(f)
- override def flatMap[T, T2](fa: Future[T], f: (T) => Future[T2]): Future[T2] =
+ override def map[T, T2](fa: Future[T])(f: (T) => T2): Future[T2] = fa.map(f)
+ override def flatMap[T, T2](fa: Future[T])(f: (T) => Future[T2]): Future[T2] =
fa.flatMap(f)
override def error[T](t: Throwable): Future[T] = Future.failed(t)
diff --git a/core/src/main/scala/com/softwaremill/sttp/ResponseAs.scala b/core/src/main/scala/com/softwaremill/sttp/ResponseAs.scala
index 14d3606..00f549f 100644
--- a/core/src/main/scala/com/softwaremill/sttp/ResponseAs.scala
+++ b/core/src/main/scala/com/softwaremill/sttp/ResponseAs.scala
@@ -85,7 +85,7 @@ object ResponseAs {
responseAs match {
case mra @ MappedResponseAs(raw, g) =>
- responseMonad.map(responseMonad.fromTry(handleBasic(mra.raw)), mra.g)
+ responseMonad.map(responseMonad.fromTry(handleBasic(mra.raw)))(mra.g)
case bra: BasicResponseAs[T, S] =>
responseMonad.fromTry(handleBasic(bra))
}
diff --git a/core/src/main/scala/com/softwaremill/sttp/SttpHandler.scala b/core/src/main/scala/com/softwaremill/sttp/SttpHandler.scala
index fd836bd..26464ba 100644
--- a/core/src/main/scala/com/softwaremill/sttp/SttpHandler.scala
+++ b/core/src/main/scala/com/softwaremill/sttp/SttpHandler.scala
@@ -14,13 +14,13 @@ trait SttpHandler[R[_], -S] {
def send[T](request: Request[T, S]): R[Response[T]] = {
val resp = doSend(request)
if (request.options.followRedirects) {
- responseMonad.flatMap(resp, { response: Response[T] =>
+ responseMonad.flatMap(resp) { response: Response[T] =>
if (response.isRedirect) {
followRedirect(request, response)
} else {
responseMonad.unit(response)
}
- })
+ }
} else {
resp
}
diff --git a/core/src/main/scala/com/softwaremill/sttp/package.scala b/core/src/main/scala/com/softwaremill/sttp/package.scala
index 24eb32c..63b82f0 100644
--- a/core/src/main/scala/com/softwaremill/sttp/package.scala
+++ b/core/src/main/scala/com/softwaremill/sttp/package.scala
@@ -253,7 +253,8 @@ package object sttp {
private[sttp] def codeIsSuccess(c: Int): Boolean = c >= 200 && c < 300
- private[sttp] def concatByteBuffers(bb1: ByteBuffer, bb2: ByteBuffer): ByteBuffer =
+ private[sttp] def concatByteBuffers(bb1: ByteBuffer,
+ bb2: ByteBuffer): ByteBuffer =
ByteBuffer
.allocate(bb1.array().length + bb2.array().length)
.put(bb1)
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 4ae0e33..1ffd372 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
@@ -86,9 +86,9 @@ object OkHttpMonixHandler {
private[monix] object TaskMonad extends MonadAsyncError[Task] {
override def unit[T](t: T): Task[T] = Task.now(t)
- override def map[T, T2](fa: Task[T], f: (T) => T2): Task[T2] = fa.map(f)
+ override def map[T, T2](fa: Task[T])(f: (T) => T2): Task[T2] = fa.map(f)
- override def flatMap[T, T2](fa: Task[T], f: (T) => Task[T2]): Task[T2] =
+ override def flatMap[T, T2](fa: Task[T])(f: (T) => Task[T2]): Task[T2] =
fa.flatMap(f)
override def async[T](
diff --git a/okhttp-handler/src/main/scala/com/softwaremill/sttp/okhttp/OkHttpClientHandler.scala b/okhttp-handler/src/main/scala/com/softwaremill/sttp/okhttp/OkHttpClientHandler.scala
index af44132..cef7054 100644
--- a/okhttp-handler/src/main/scala/com/softwaremill/sttp/okhttp/OkHttpClientHandler.scala
+++ b/okhttp-handler/src/main/scala/com/softwaremill/sttp/okhttp/OkHttpClientHandler.scala
@@ -89,11 +89,11 @@ abstract class OkHttpHandler[R[_], S](client: OkHttpClient)
val code = res.code()
val body = if (codeIsSuccess(code)) {
- responseMonad.map(responseHandler(res).handle(responseAs, responseMonad),
- Right(_: T))
+ responseMonad.map(responseHandler(res).handle(responseAs, responseMonad))(
+ Right(_))
} else {
- responseMonad.map(responseHandler(res).handle(asString, responseMonad),
- Left(_: String))
+ responseMonad.map(responseHandler(res).handle(asString, responseMonad))(
+ Left(_))
}
val headers = res
@@ -102,9 +102,7 @@ abstract class OkHttpHandler[R[_], S](client: OkHttpClient)
.asScala
.flatMap(name => res.headers().values(name).asScala.map((name, _)))
- responseMonad.map(
- body,
- Response(_: Either[String, T], res.code(), headers.toList))
+ responseMonad.map(body)(Response(_, res.code(), headers.toList))
}
private def responseHandler(res: OkHttpResponse) =