diff --git a/java-client/src/main/java/co/elastic/clients/transport/rest5_client/Rest5ClientOptions.java b/java-client/src/main/java/co/elastic/clients/transport/rest5_client/Rest5ClientOptions.java index 6f4f745297..7798fcd1d9 100644 --- a/java-client/src/main/java/co/elastic/clients/transport/rest5_client/Rest5ClientOptions.java +++ b/java-client/src/main/java/co/elastic/clients/transport/rest5_client/Rest5ClientOptions.java @@ -61,7 +61,7 @@ public static Rest5ClientOptions of(@Nullable TransportOptions options) { return (Rest5ClientOptions) options; } - final Builder builder = new Builder(RequestOptions.DEFAULT.toBuilder()); + final Builder builder = new Builder(SafeResponseConsumer.DEFAULT_REQUEST_OPTIONS.toBuilder()); options.headers().forEach(h -> builder.addHeader(h.getKey(), h.getValue())); options.queryParameters().forEach(builder::setParameter); builder.onWarnings(options.onWarnings()); diff --git a/java-client/src/main/java/co/elastic/clients/transport/rest_client/RestClientOptions.java b/java-client/src/main/java/co/elastic/clients/transport/rest_client/RestClientOptions.java index 431a9cbd44..a3b866d5bc 100644 --- a/java-client/src/main/java/co/elastic/clients/transport/rest_client/RestClientOptions.java +++ b/java-client/src/main/java/co/elastic/clients/transport/rest_client/RestClientOptions.java @@ -61,7 +61,7 @@ public static RestClientOptions of(@Nullable TransportOptions options) { return (RestClientOptions)options; } - final Builder builder = new Builder(RequestOptions.DEFAULT.toBuilder()); + final Builder builder = new Builder(SafeResponseConsumer.DEFAULT_REQUEST_OPTIONS.toBuilder()); options.headers().forEach(h -> builder.addHeader(h.getKey(), h.getValue())); options.queryParameters().forEach(builder::setParameter); builder.onWarnings(options.onWarnings()); diff --git a/java-client/src/test/java/co/elastic/clients/transport/rest5_client/Rest5ClientOptionsTest.java b/java-client/src/test/java/co/elastic/clients/transport/rest5_client/Rest5ClientOptionsTest.java index 439acc08eb..6fb5a1e4be 100644 --- a/java-client/src/test/java/co/elastic/clients/transport/rest5_client/Rest5ClientOptionsTest.java +++ b/java-client/src/test/java/co/elastic/clients/transport/rest5_client/Rest5ClientOptionsTest.java @@ -199,4 +199,19 @@ void testRequestOptionsOverridingBuiltin() throws Exception { // overriding user-agent is ok checkUserAgent(id, "FooBarAgent/1.0"); } + + @Test + void testConvertedOptionsUseSafeResponseConsumer() throws Exception { + // Transport options set on the client builder are converted from DefaultTransportOptions + ElasticsearchClient esClient = ElasticsearchClient.of(b -> b + .host("http://example.com") + .transportOptions(o -> o.addHeader("Foo", "bar")) + ); + + Rest5ClientOptions options = (Rest5ClientOptions) esClient._transportOptions(); + assertSame(SafeResponseConsumer.DEFAULT_FACTORY, + options.restClientRequestOptions().getHttpAsyncResponseConsumerFactory()); + + esClient._transport().close(); + } } diff --git a/java-client/src/test/java/co/elastic/clients/transport/rest_client/RestClientOptionsTest.java b/java-client/src/test/java/co/elastic/clients/transport/rest_client/RestClientOptionsTest.java index cf89959442..08d47b19af 100644 --- a/java-client/src/test/java/co/elastic/clients/transport/rest_client/RestClientOptionsTest.java +++ b/java-client/src/test/java/co/elastic/clients/transport/rest_client/RestClientOptionsTest.java @@ -199,4 +199,20 @@ void testRequestOptionsOverridingBuiltin() throws Exception { // overriding user-agent is ok checkUserAgent(id, "FooBarAgent/1.0"); } + + @Test + void testConvertedOptionsUseSafeResponseConsumer() throws Exception { + // Transport options set on the client builder are converted from DefaultTransportOptions + ElasticsearchClient esClient = ElasticsearchClient.of(b -> b + .host("http://example.com") + .useLegacyTransport(true) + .transportOptions(o -> o.addHeader("Foo", "bar")) + ); + + RestClientOptions options = (RestClientOptions) esClient._transportOptions(); + assertSame(SafeResponseConsumer.DEFAULT_FACTORY, + options.restClientRequestOptions().getHttpAsyncResponseConsumerFactory()); + + esClient._transport().close(); + } }