From 68cd4f95d6701e0ecebb469e85eb79f32b8e5a83 Mon Sep 17 00:00:00 2001 From: Timothy Lim Date: Thu, 1 Nov 2018 23:17:54 +0800 Subject: [PATCH] Allow parsing of responses from DELETE requests --- .../src/main/java/io/intercom/api/HttpClient.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/intercom-java/src/main/java/io/intercom/api/HttpClient.java b/intercom-java/src/main/java/io/intercom/api/HttpClient.java index 4671260d..99056439 100644 --- a/intercom-java/src/main/java/io/intercom/api/HttpClient.java +++ b/intercom-java/src/main/java/io/intercom/api/HttpClient.java @@ -178,19 +178,18 @@ private T handleSuccess(JavaType javaType, HttpURLConnection conn, int respo } private boolean shouldSkipResponseEntity(JavaType javaType, HttpURLConnection conn, int responseCode) { - return responseCode == 204 || Void.class.equals(javaType.getRawClass()) || "DELETE".equals(conn.getRequestMethod()); + return responseCode == 204 || Void.class.equals(javaType.getRawClass()); } private T readEntity(HttpURLConnection conn, int responseCode, JavaType javaType) throws IOException { final InputStream entityStream = conn.getInputStream(); try { + final String text = CharStreams.toString(new InputStreamReader(entityStream)); if (logger.isDebugEnabled()) { - final String text = CharStreams.toString(new InputStreamReader(entityStream)); logger.debug("api server response status[{}] --\n{}\n-- ", responseCode, text); - return objectMapper.readValue(text, javaType); - } else { - return objectMapper.readValue(entityStream, javaType); } + if (text.isEmpty()) return null; + return objectMapper.readValue(text, javaType); } finally { IOUtils.closeQuietly(entityStream); }