From 65b1e9ef2c6f2e7372303ff36994c215036301a3 Mon Sep 17 00:00:00 2001 From: Carlos Sanchez Date: Wed, 27 Jan 2016 11:40:25 +0100 Subject: [PATCH] Handle invalid HTTP received from server If response was empty it caused a NPE --- core/src/main/java/feign/Client.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/src/main/java/feign/Client.java b/core/src/main/java/feign/Client.java index 5edc0291..a999d018 100644 --- a/core/src/main/java/feign/Client.java +++ b/core/src/main/java/feign/Client.java @@ -15,6 +15,8 @@ */ package feign; +import static java.lang.String.format; + import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -150,6 +152,12 @@ public interface Client { int status = connection.getResponseCode(); String reason = connection.getResponseMessage(); + if (status < 0 || reason == null) { + // invalid response + throw new IOException(format("Invalid HTTP executing %s %s", connection.getRequestMethod(), + connection.getURL())); + } + Map> headers = new LinkedHashMap>(); for (Map.Entry> field : connection.getHeaderFields().entrySet()) { // response message