From 3fb284c3c8849baa0f7b0d34ee9be78af7935bb6 Mon Sep 17 00:00:00 2001 From: adamw Date: Wed, 6 Dec 2017 20:43:31 +0100 Subject: #53: using proper encoding when reading the response body --- .../softwaremill/sttp/asynchttpclient/AsyncHttpClientBackend.scala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'async-http-client-backend') diff --git a/async-http-client-backend/src/main/scala/com/softwaremill/sttp/asynchttpclient/AsyncHttpClientBackend.scala b/async-http-client-backend/src/main/scala/com/softwaremill/sttp/asynchttpclient/AsyncHttpClientBackend.scala index 39c2b30..885e5a9 100644 --- a/async-http-client-backend/src/main/scala/com/softwaremill/sttp/asynchttpclient/AsyncHttpClientBackend.scala +++ b/async-http-client-backend/src/main/scala/com/softwaremill/sttp/asynchttpclient/AsyncHttpClientBackend.scala @@ -270,7 +270,10 @@ abstract class AsyncHttpClientBackend[R[_], S](asyncHttpClient: AsyncHttpClient, Try(()) case ResponseAsString(enc) => - Try(response.getResponseBody(Charset.forName(enc))) + val charset = Option(response.getHeader(ContentTypeHeader)) + .flatMap(encodingFromContentType) + .getOrElse(enc) + Try(response.getResponseBody(Charset.forName(charset))) case ResponseAsByteArray => Try(response.getResponseBodyAsBytes) -- cgit v1.2.3