diff --git a/components/http/okHttp/src/main/java/com/microsoft/kiota/http/OkHttpRequestAdapter.java b/components/http/okHttp/src/main/java/com/microsoft/kiota/http/OkHttpRequestAdapter.java index 43eb3761b..a944de067 100644 --- a/components/http/okHttp/src/main/java/com/microsoft/kiota/http/OkHttpRequestAdapter.java +++ b/components/http/okHttp/src/main/java/com/microsoft/kiota/http/OkHttpRequestAdapter.java @@ -344,7 +344,9 @@ private void setResponseType(final Object result, final Span span) { } private void closeResponse(boolean closeResponse, Response response) { - if (closeResponse && response.code() != 204) { + if (closeResponse + && response.code() != 204 + && (response.code() < 300 || response.code() > 399)) { response.close(); } } @@ -614,7 +616,7 @@ private void closeResponse(boolean closeResponse, Response response) { private boolean shouldReturnNull(final Response response) { final int statusCode = response.code(); - return statusCode == 204; + return statusCode == 204 || (statusCode > 299 && statusCode < 400); } /** diff --git a/components/http/okHttp/src/test/java/com/microsoft/kiota/http/OkHttpRequestAdapterTest.java b/components/http/okHttp/src/test/java/com/microsoft/kiota/http/OkHttpRequestAdapterTest.java index 2d9c0bd11..a953218ca 100644 --- a/components/http/okHttp/src/test/java/com/microsoft/kiota/http/OkHttpRequestAdapterTest.java +++ b/components/http/okHttp/src/test/java/com/microsoft/kiota/http/OkHttpRequestAdapterTest.java @@ -120,7 +120,7 @@ void sendStreamReturnsUsableStream(int statusCode) throws Exception { } @ParameterizedTest - @ValueSource(ints = {200, 201, 202, 203, 204}) + @ValueSource(ints = {200, 201, 202, 203, 204, 304}) void sendStreamReturnsNullOnNoContent(int statusCode) throws Exception { final var authenticationProviderMock = mock(AuthenticationProvider.class); authenticationProviderMock.authenticateRequest( @@ -149,7 +149,7 @@ void sendStreamReturnsNullOnNoContent(int statusCode) throws Exception { } @ParameterizedTest - @ValueSource(ints = {200, 201, 202, 203, 204, 205}) + @ValueSource(ints = {200, 201, 202, 203, 204, 205, 304}) void sendReturnsNullOnNoContent(int statusCode) throws Exception { final var authenticationProviderMock = mock(AuthenticationProvider.class); authenticationProviderMock.authenticateRequest(