Eagerly initialize Netty4ClientHttpRequestFactory

Avoid a null SSLContext.

Closes gh-597
This commit is contained in:
Mark Paluch
2020-12-01 17:45:22 +01:00
parent ecb419f185
commit 927134fcf8
2 changed files with 12 additions and 2 deletions

View File

@@ -387,6 +387,9 @@ public class ClientHttpRequestFactoryFactory {
requestFactory.setConnectTimeout(Math.toIntExact(options.getConnectionTimeout().toMillis()));
requestFactory.setReadTimeout(Math.toIntExact(options.getReadTimeout().toMillis()));
// eagerly initialize to ensure SSL context
requestFactory.afterPropertiesSet();
return requestFactory;
}

View File

@@ -27,10 +27,9 @@ import org.springframework.http.ResponseEntity;
import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.http.client.Netty4ClientHttpRequestFactory;
import org.springframework.http.client.OkHttp3ClientHttpRequestFactory;
import org.springframework.test.util.ReflectionTestUtils;
import org.springframework.vault.client.ClientHttpRequestFactoryFactory.HttpComponents;
import org.springframework.vault.client.ClientHttpRequestFactoryFactory.Netty;
import org.springframework.vault.client.ClientHttpRequestFactoryFactory.OkHttp3;
import org.springframework.vault.support.ClientOptions;
import org.springframework.vault.support.SslConfiguration;
import org.springframework.vault.util.Settings;
@@ -81,6 +80,14 @@ class ClientHttpRequestFactoryFactoryIntegrationTests {
((DisposableBean) factory).destroy();
}
@Test
void nettyClientWithoutSslConfigShouldWork() throws Exception {
ClientHttpRequestFactory factory = Netty.usingNetty(new ClientOptions(), SslConfiguration.unconfigured());
assertThat(ReflectionTestUtils.getField(factory, "sslContext")).isNotNull();
}
@Test
void nettyClientShouldWork() throws Exception {