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 6f4f74529..7798fcd1d 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 431a9cbd4..a3b866d5b 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 439acc08e..3228cfa7d 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,17 @@ 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 + try (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()); + } + } } 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 cf8995944..29f73cf98 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,18 @@ 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 + try (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()); + } + } }