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