From 66eed168fa5b9868ffcee5fe1cf698148cfb5264 Mon Sep 17 00:00:00 2001 From: adamw Date: Tue, 4 Jul 2017 14:14:27 +0200 Subject: Comments --- core/src/main/scala/com/softwaremill/sttp/model/package.scala | 6 +++++- core/src/main/scala/com/softwaremill/sttp/package.scala | 5 +++-- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'core/src') diff --git a/core/src/main/scala/com/softwaremill/sttp/model/package.scala b/core/src/main/scala/com/softwaremill/sttp/model/package.scala index 24c5fa6..784b72c 100644 --- a/core/src/main/scala/com/softwaremill/sttp/model/package.scala +++ b/core/src/main/scala/com/softwaremill/sttp/model/package.scala @@ -38,6 +38,10 @@ package object model { case class FileBody(f: File) extends BasicRequestBody case class PathBody(f: Path) extends BasicRequestBody + /** + * @tparam T Target type as which the response will be read. + * @tparam S If `T` is a stream, the type of the stream. Otherwise, `Nothing`. + */ sealed trait ResponseAs[T, +S] sealed trait ResponseAsBasic[T, +S] extends ResponseAs[T, S] @@ -46,5 +50,5 @@ package object model { object ResponseAsByteArray extends ResponseAsBasic[Array[Byte], Nothing] // response as params - case class ResponseAsStream[T, S]()(implicit val x: S =:= T) extends ResponseAs[T, S] + case class ResponseAsStream[T, S]()(implicit val responseIsStream: S =:= T) extends ResponseAs[T, S] } diff --git a/core/src/main/scala/com/softwaremill/sttp/package.scala b/core/src/main/scala/com/softwaremill/sttp/package.scala index 8abea0a..8dd8c5d 100644 --- a/core/src/main/scala/com/softwaremill/sttp/package.scala +++ b/core/src/main/scala/com/softwaremill/sttp/package.scala @@ -150,8 +150,9 @@ package object sttp { * to consume it. An exception to this are streaming responses, which need to fully consumed * by the client if such a response type is requested. */ - def send[R[_], S, T, ResponseAsType[x, s] <: ResponseAs[x, s]](responseAs: ResponseAsType[T, S])( - implicit handler: SttpHandler[R, S, ResponseAsType], isRequest: IsRequest[U]): R[Response[T]] = { + def send[R[_], S, T, TypeOfResponseAs[x, s] <: ResponseAs[x, s]](responseAs: TypeOfResponseAs[T, S])( + implicit handler: SttpHandler[R, S, TypeOfResponseAs], isRequest: IsRequest[U]): R[Response[T]] = { + handler.send(this, responseAs) } } -- cgit v1.2.3