diff --git a/rest-helix/src/main/java/com/github/twitch4j/helix/TwitchHelixErrorDecoder.java b/rest-helix/src/main/java/com/github/twitch4j/helix/TwitchHelixErrorDecoder.java index 57e6aa2ed..5be47ba36 100644 --- a/rest-helix/src/main/java/com/github/twitch4j/helix/TwitchHelixErrorDecoder.java +++ b/rest-helix/src/main/java/com/github/twitch4j/helix/TwitchHelixErrorDecoder.java @@ -16,7 +16,6 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.exception.ContextedRuntimeException; -import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; @@ -101,8 +100,10 @@ public Exception decode(String methodKey, Response response) { .addContextValue("errorType", error.getMessage()) .addContextValue("errorMessage", error.getMessage()); } - } catch (IOException fallbackToDefault) { + } catch (Exception fallbackToDefault) { ex = defaultDecoder.decode(methodKey, response); + } finally { + response.close(); } return ex; diff --git a/rest-helix/src/main/java/com/github/twitch4j/helix/interceptor/TwitchHelixDecoder.java b/rest-helix/src/main/java/com/github/twitch4j/helix/interceptor/TwitchHelixDecoder.java index 2e087d120..8e551cfdb 100644 --- a/rest-helix/src/main/java/com/github/twitch4j/helix/interceptor/TwitchHelixDecoder.java +++ b/rest-helix/src/main/java/com/github/twitch4j/helix/interceptor/TwitchHelixDecoder.java @@ -11,6 +11,7 @@ import static com.github.twitch4j.helix.interceptor.TwitchHelixClientIdInterceptor.AUTH_HEADER; import static com.github.twitch4j.helix.interceptor.TwitchHelixClientIdInterceptor.BEARER_PREFIX; import static com.github.twitch4j.helix.interceptor.TwitchHelixClientIdInterceptor.CLIENT_HEADER; +import static com.github.twitch4j.helix.interceptor.TwitchHelixHttpClient.getFirst; import static com.github.twitch4j.helix.interceptor.TwitchHelixHttpClient.getFirstHeader; import static com.github.twitch4j.helix.interceptor.TwitchHelixHttpClient.getFirstParam; @@ -32,7 +33,7 @@ public Object decode(Response response, Type type) throws IOException { String token = getFirstHeader(AUTH_HEADER, request); if (token != null && token.startsWith(BEARER_PREFIX)) { // Parse remaining - String remainingStr = getFirstHeader(REMAINING_HEADER, request); + String remainingStr = getFirst(REMAINING_HEADER, response.headers()); Integer remaining; try { remaining = Integer.parseInt(remainingStr);