diff options
author | Omar Alejandro Mainegra Sarduy <omainegra@gmail.com> | 2017-08-14 11:27:26 -0400 |
---|---|---|
committer | Omar Alejandro Mainegra Sarduy <omainegra@gmail.com> | 2017-08-14 11:27:26 -0400 |
commit | 8733320e18faa4d2d2d66a96de503469fc236e46 (patch) | |
tree | cc6ce0493bc0af42ae8cbb8a4ee23b598248f165 /okhttp-client-handler | |
parent | a21bbe418697195128895914184242368ff036b8 (diff) | |
download | sttp-8733320e18faa4d2d2d66a96de503469fc236e46.tar.gz sttp-8733320e18faa4d2d2d66a96de503469fc236e46.tar.bz2 sttp-8733320e18faa4d2d2d66a96de503469fc236e46.zip |
Minox changes
Diffstat (limited to 'okhttp-client-handler')
-rw-r--r-- | okhttp-client-handler/src/main/scala/com/softwaremill/sttp/okhttp/OkHttpClientHandler.scala | 23 |
1 files changed, 13 insertions, 10 deletions
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 8f21eb0..00ea10c 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 @@ -29,7 +29,7 @@ abstract class OkHttpClientHandler[R[_], S](client: OkHttpClient) val builder = new OkHttpRequest.Builder() .url(request.uri.toString) - val body = setBody(request.body) + val body = setBody(request) builder.method(request.method.m, body.getOrElse { if (HttpMethod.requiresRequestBody(request.method.m)) OkHttpRequestBody.create(null, "") @@ -46,12 +46,13 @@ abstract class OkHttpClientHandler[R[_], S](client: OkHttpClient) builder.build() } - private def setBody(requestBody: RequestBody[S]): Option[OkHttpRequestBody] = { - requestBody match { + private def setBody[T](request: Request[T, S]): Option[OkHttpRequestBody] = { + request.body match { case NoBody => None - case StringBody(b, encoding, _) => - Some(OkHttpRequestBody.create(MediaType.parse(encoding), b)) - case ByteArrayBody(b, _) => Some(OkHttpRequestBody.create(null, b)) + case StringBody(b, _, _) => + Some(OkHttpRequestBody.create(null, b)) + case ByteArrayBody(b, _) => + Some(OkHttpRequestBody.create(null, b)) case ByteBufferBody(b, _) => Some(OkHttpRequestBody.create(null, b.array())) case InputStreamBody(b, _) => @@ -60,8 +61,10 @@ abstract class OkHttpClientHandler[R[_], S](client: OkHttpClient) sink.writeAll(Okio.source(b)) override def contentType(): MediaType = null }) - case PathBody(b, _) => Some(OkHttpRequestBody.create(null, b.toFile)) - case StreamBody(s) => streamToRequestBody(s) + case PathBody(b, _) => + Some(OkHttpRequestBody.create(null, b.toFile)) + case StreamBody(s) => + streamToRequestBody(s) } } @@ -133,7 +136,7 @@ abstract class OkHttpAsyncClientHandler[R[_], S](client: OkHttpClient, .enqueue(new Callback { override def onFailure(call: Call, e: IOException): Unit = error(e) - + override def onResponse(call: Call, response: OkHttpResponse): Unit = try success(readResponse(response, r.responseAs)) catch { case e: Exception => error(e) } @@ -151,6 +154,6 @@ class OkHttpFutureClientHandler private (client: OkHttpClient)( object OkHttpFutureClientHandler { def apply(okhttpClient: OkHttpClient = new OkHttpClient())( implicit ec: ExecutionContext = ExecutionContext.Implicits.global) - : OkHttpFutureClientHandler = + : SttpHandler[Future, Nothing] = new OkHttpFutureClientHandler(okhttpClient) } |