@SuppressWarnings("deprecation") @Override protected AsyncClientHttpRequestFactory createRequestFactory() { return new OkHttp3ClientHttpRequestFactory(); }
@Override protected ClientHttpRequestFactory createRequestFactory() { return new OkHttp3ClientHttpRequestFactory(); }
@Override protected RestTemplate newClient() { return new RestTemplate(new OkHttp3ClientHttpRequestFactory(ok)); }
@Override protected AsyncRestTemplate newClient() { return new AsyncRestTemplate(new OkHttp3ClientHttpRequestFactory(ok)); }
@Override protected RestTemplate newClient(HttpTracing httpTracing) { OkHttp3ClientHttpRequestFactory factory = new OkHttp3ClientHttpRequestFactory(ok); RestTemplate result = new RestTemplate(factory); result.setInterceptors(Collections.singletonList( TracingClientHttpRequestInterceptor.create(httpTracing ))); return result; }
@Override protected AsyncRestTemplate newClient(HttpTracing httpTracing) { OkHttp3ClientHttpRequestFactory factory = new OkHttp3ClientHttpRequestFactory(ok); AsyncRestTemplate result = new AsyncRestTemplate(factory); result.setInterceptors(Collections.singletonList( TracingAsyncClientHttpRequestInterceptor.create(httpTracing ))); return result; }
@SuppressWarnings("deprecation") @Parameters public static Iterable<? extends ClientHttpRequestFactory> data() { return Arrays.asList( new SimpleClientHttpRequestFactory(), new HttpComponentsClientHttpRequestFactory(), new Netty4ClientHttpRequestFactory(), new OkHttp3ClientHttpRequestFactory() ); }
@Bean @ConditionalOnMissingBean(OkHttp3ClientHttpRequestFactory.class) public OkHttp3ClientHttpRequestFactory okHttp3ClientHttpRequestFactory(OkHttpClient okHttpClient) { return new OkHttp3ClientHttpRequestFactory(okHttpClient); } }
@Bean(name = "restTemplate") public RestTemplate restTemplate(RestTemplateBuilder builder) { OkHttp3ClientHttpRequestFactory httpRequestFactory = new OkHttp3ClientHttpRequestFactory(); httpRequestFactory.setConnectTimeout(2000); httpRequestFactory.setReadTimeout(2000); httpRequestFactory.setWriteTimeout(2000); return new RestTemplate(httpRequestFactory); }
static ClientHttpRequestFactory usingOkHttp3(ClientOptions options, SslConfiguration sslConfiguration) throws GeneralSecurityException, IOException { Builder builder = new Builder(); if (hasSslConfiguration(sslConfiguration)) { TrustManager[] trustManagers = getTrustManagers(sslConfiguration); if (trustManagers.length != 1 || !(trustManagers[0] instanceof X509TrustManager)) { throw new IllegalStateException("Unexpected default trust managers:" + Arrays.toString(trustManagers)); } X509TrustManager trustManager = (X509TrustManager) trustManagers[0]; SSLContext sslContext = getSSLContext(sslConfiguration, trustManagers); builder.sslSocketFactory(sslContext.getSocketFactory(), trustManager); } builder.connectTimeout(options.getConnectionTimeout().toMillis(), TimeUnit.MILLISECONDS).readTimeout( options.getReadTimeout().toMillis(), TimeUnit.MILLISECONDS); return new OkHttp3ClientHttpRequestFactory(builder.build()); } }
@Bean public ClientHttpRequestFactory webhookRequestFactory( OkHttpClientConfigurationProperties okHttpClientConfigurationProperties ) { X509TrustManager trustManager = webhookX509TrustManager(); SSLSocketFactory sslSocketFactory = getSSLSocketFactory(trustManager); OkHttpClient client = new OkHttpClient.Builder().sslSocketFactory(sslSocketFactory, trustManager).build(); OkHttp3ClientHttpRequestFactory requestFactory = new OkHttp3ClientHttpRequestFactory(client); requestFactory.setReadTimeout(Math.toIntExact(okHttpClientConfigurationProperties.getReadTimeoutMs())); requestFactory.setConnectTimeout(Math.toIntExact(okHttpClientConfigurationProperties.getConnectTimeoutMs())); return requestFactory; }