From 418176a55bfbb15c844bc39e1426f231fdd4407b Mon Sep 17 00:00:00 2001 From: Philip Gichuhi Date: Mon, 19 Aug 2024 18:23:24 +0300 Subject: [PATCH] Update request body write to retain inputstream buffer --- components/http/okHttp/gradle/dependencies.gradle | 1 + .../java/com/microsoft/kiota/http/OkHttpRequestAdapter.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/components/http/okHttp/gradle/dependencies.gradle b/components/http/okHttp/gradle/dependencies.gradle index 8c385fe48..7c72ea780 100644 --- a/components/http/okHttp/gradle/dependencies.gradle +++ b/components/http/okHttp/gradle/dependencies.gradle @@ -12,6 +12,7 @@ dependencies { implementation 'io.opentelemetry:opentelemetry-api:1.41.0' implementation 'io.opentelemetry:opentelemetry-context:1.41.0' implementation 'jakarta.annotation:jakarta.annotation-api:2.1.1' + implementation 'com.google.guava:guava:33.3.0-jre' api 'com.squareup.okhttp3:okhttp:4.12.0' api project(':components:abstractions') 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 602f64567..d5a0983ab 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 @@ -2,6 +2,7 @@ import static com.microsoft.kiota.http.TelemetrySemanticConventions.*; +import com.google.guava.ByteStreams; import com.microsoft.kiota.*; import com.microsoft.kiota.authentication.AuthenticationProvider; import com.microsoft.kiota.http.middleware.ParametersNameDecodingHandler; @@ -28,7 +29,6 @@ import okhttp3.*; import okio.BufferedSink; -import okio.Okio; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -922,7 +922,7 @@ public long contentLength() throws IOException { @Override public void writeTo(@Nonnull BufferedSink sink) throws IOException { - sink.writeAll(Okio.source(requestInfo.content)); + sink.write(ByteStreams.toByteArray(requestInfo.content)); } };