From 893b7535d625820fa7d64c0a4d500dc421be1b83 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 2 Jul 2025 13:01:27 +0000 Subject: [PATCH 1/5] Initial plan From bb66b47b516be760663288e58b1c69c83e6a1300 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 2 Jul 2025 13:18:41 +0000 Subject: [PATCH 2/5] Ensure 304 response code does not throw exceptions Co-authored-by: baywet <7905502+baywet@users.noreply.github.com> --- .../java/com/microsoft/kiota/http/OkHttpRequestAdapter.java | 4 ++-- .../com/microsoft/kiota/http/OkHttpRequestAdapterTest.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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..ada066d53 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,7 @@ 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() != 304) { response.close(); } } @@ -614,7 +614,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 == 304; } /** 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( From 7c72810bcfedb1acac0bed2f4a5ee0f5c5a9841f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 2 Jul 2025 13:49:16 +0000 Subject: [PATCH 3/5] Use range comparison for 3xx status codes and include 205 Co-authored-by: baywet <7905502+baywet@users.noreply.github.com> --- .../java/com/microsoft/kiota/http/OkHttpRequestAdapter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 ada066d53..ea0775bcc 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,7 @@ private void setResponseType(final Object result, final Span span) { } private void closeResponse(boolean closeResponse, Response response) { - if (closeResponse && response.code() != 204 && response.code() != 304) { + if (closeResponse && response.code() != 204 && response.code() != 205 && (response.code() <= 299 || response.code() >= 400)) { response.close(); } } @@ -614,7 +614,7 @@ private void closeResponse(boolean closeResponse, Response response) { private boolean shouldReturnNull(final Response response) { final int statusCode = response.code(); - return statusCode == 204 || statusCode == 304; + return statusCode == 204 || statusCode == 205 || (statusCode > 299 && statusCode < 400); } /** From be819a98d71847ca9772dd6ee418c648a9c40a7a Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Wed, 2 Jul 2025 09:56:00 -0400 Subject: [PATCH 4/5] chore: proper range comparison --- .../java/com/microsoft/kiota/http/OkHttpRequestAdapter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 ea0775bcc..5f90e0bc8 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,7 @@ private void setResponseType(final Object result, final Span span) { } private void closeResponse(boolean closeResponse, Response response) { - if (closeResponse && response.code() != 204 && response.code() != 205 && (response.code() <= 299 || response.code() >= 400)) { + if (closeResponse && response.code() != 204 && (response.code() < 300 || response.code() > 399)) { response.close(); } } @@ -614,7 +614,7 @@ private void closeResponse(boolean closeResponse, Response response) { private boolean shouldReturnNull(final Response response) { final int statusCode = response.code(); - return statusCode == 204 || statusCode == 205 || (statusCode > 299 && statusCode < 400); + return statusCode == 204 || (statusCode > 299 && statusCode < 400); } /** From f440dcb2f869feddb0745c4796513acca0a07e0d Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Wed, 2 Jul 2025 09:59:13 -0400 Subject: [PATCH 5/5] chore: formatting --- .../java/com/microsoft/kiota/http/OkHttpRequestAdapter.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 5f90e0bc8..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 && (response.code() < 300 || response.code() > 399)) { + if (closeResponse + && response.code() != 204 + && (response.code() < 300 || response.code() > 399)) { response.close(); } }