From f9f50231d149c599c6c79473cd01b31d84fe1221 Mon Sep 17 00:00:00 2001 From: dirong Date: Wed, 16 Mar 2016 12:28:19 +0200 Subject: [PATCH] Fix parsing for contentType in OkClient when a response has no body. --- .../main/java/io/techery/janet/okhttp/OkClient.java | 12 +++++++++--- .../main/java/io/techery/janet/okhttp3/OkClient.java | 12 +++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/janet-http/http-clients/okhttp/src/main/java/io/techery/janet/okhttp/OkClient.java b/janet-http/http-clients/okhttp/src/main/java/io/techery/janet/okhttp/OkClient.java index b85c6d8..4f1af33 100644 --- a/janet-http/http-clients/okhttp/src/main/java/io/techery/janet/okhttp/OkClient.java +++ b/janet-http/http-clients/okhttp/src/main/java/io/techery/janet/okhttp/OkClient.java @@ -65,9 +65,15 @@ public OkClient(com.squareup.okhttp.OkHttpClient okHttpClient) { for (String headerName : okResponse.headers().names()) { responseHeaders.add(new Header(headerName, okResponse.header(headerName))); } - ActionBody responseBody = new BytesArrayBody( - okResponse.body().contentType().toString(), okResponse.body().bytes() - ); + ActionBody responseBody = null; + if (okResponse.body() != null) { + String contentType = null; + MediaType mediaType = okResponse.body().contentType(); + if (mediaType != null) { + contentType = mediaType.toString(); + } + responseBody = new BytesArrayBody(contentType, okResponse.body().bytes()); + } return new Response( okResponse.request().url().toString(), okResponse.code(), okResponse.message(), responseHeaders, responseBody diff --git a/janet-http/http-clients/okhttp3/src/main/java/io/techery/janet/okhttp3/OkClient.java b/janet-http/http-clients/okhttp3/src/main/java/io/techery/janet/okhttp3/OkClient.java index 331dd69..126881e 100644 --- a/janet-http/http-clients/okhttp3/src/main/java/io/techery/janet/okhttp3/OkClient.java +++ b/janet-http/http-clients/okhttp3/src/main/java/io/techery/janet/okhttp3/OkClient.java @@ -63,9 +63,15 @@ public OkClient(OkHttpClient okHttpClient) { for (String headerName : okResponse.headers().names()) { responseHeaders.add(new Header(headerName, okResponse.header(headerName))); } - ActionBody responseBody = new BytesArrayBody( - okResponse.body().contentType().toString(), okResponse.body().bytes() - ); + ActionBody responseBody = null; + if (okResponse.body() != null) { + String contentType = null; + MediaType mediaType = okResponse.body().contentType(); + if (mediaType != null) { + contentType = mediaType.toString(); + } + responseBody = new BytesArrayBody(contentType, okResponse.body().bytes()); + } return new Response( okResponse.request().url().toString(), okResponse.code(), okResponse.message(), responseHeaders, responseBody