@Override public int getConnectTimeout() { return client.connectTimeoutMillis(); }
Response getResponseWithInterceptorChain() throws IOException { // Build a full stack of interceptors. List<Interceptor> interceptors = new ArrayList<>(); interceptors.addAll(client.interceptors()); interceptors.add(retryAndFollowUpInterceptor); interceptors.add(new BridgeInterceptor(client.cookieJar())); interceptors.add(new CacheInterceptor(client.internalCache())); interceptors.add(new ConnectInterceptor(client)); if (!forWebSocket) { interceptors.addAll(client.networkInterceptors()); } interceptors.add(new CallServerInterceptor(forWebSocket)); Interceptor.Chain chain = new RealInterceptorChain(interceptors, null, null, null, 0, originalRequest, this, eventListener, client.connectTimeoutMillis(), client.readTimeoutMillis(), client.writeTimeoutMillis()); return chain.proceed(originalRequest); } }
Response getResponseWithInterceptorChain() throws IOException { // Build a full stack of interceptors. List<Interceptor> interceptors = new ArrayList<>(); interceptors.addAll(client.interceptors()); interceptors.add(retryAndFollowUpInterceptor); interceptors.add(new BridgeInterceptor(client.cookieJar())); interceptors.add(new CacheInterceptor(client.internalCache())); interceptors.add(new ConnectInterceptor(client)); if (!forWebSocket) { interceptors.addAll(client.networkInterceptors()); } interceptors.add(new CallServerInterceptor(forWebSocket)); Interceptor.Chain chain = new RealInterceptorChain(interceptors, null, null, null, 0, originalRequest, this, eventListener, client.connectTimeoutMillis(), client.readTimeoutMillis(), client.writeTimeoutMillis()); return chain.proceed(originalRequest); } }
@Test public void override_timeouts() { underTest = HttpConnector.newBuilder() .url(serverUrl) .readTimeoutMilliseconds(42) .connectTimeoutMilliseconds(74) .build(); assertThat(underTest.okHttpClient().readTimeoutMillis()).isEqualTo(42); assertThat(underTest.okHttpClient().connectTimeoutMillis()).isEqualTo(74); }
@Test public void test_default_settings() throws Exception { answerHelloWorld(); underTest = HttpConnector.newBuilder().url(serverUrl).build(); assertThat(underTest.baseUrl()).isEqualTo(serverUrl); GetRequest request = new GetRequest("api/issues/search").setMediaType(MediaTypes.PROTOBUF); WsResponse response = underTest.call(request); // verify default timeouts on client assertThat(underTest.okHttpClient().connectTimeoutMillis()).isEqualTo(HttpConnector.DEFAULT_CONNECT_TIMEOUT_MILLISECONDS); assertThat(underTest.okHttpClient().readTimeoutMillis()).isEqualTo(HttpConnector.DEFAULT_READ_TIMEOUT_MILLISECONDS); // verify response assertThat(response.hasContent()).isTrue(); assertThat(response.content()).isEqualTo("hello, world!"); // verify the request received by server RecordedRequest recordedRequest = server.takeRequest(); assertThat(recordedRequest.getMethod()).isEqualTo("GET"); assertThat(recordedRequest.getPath()).isEqualTo("/api/issues/search"); assertThat(recordedRequest.getHeader("Accept")).isEqualTo(MediaTypes.PROTOBUF); assertThat(recordedRequest.getHeader("Accept-Charset")).isEqualTo("UTF-8"); assertThat(recordedRequest.getHeader("User-Agent")).startsWith("okhttp/"); // compression is handled by OkHttp assertThat(recordedRequest.getHeader("Accept-Encoding")).isEqualTo("gzip"); }
@Override public int connectTimeoutMillis() { return delegate.connectTimeoutMillis(); }
@Override public int connectTimeoutMillis() { return delegate.connectTimeoutMillis(); }
@Override public int connectTimeoutMillis() { return delegate.connectTimeoutMillis(); }
@Override public int getConnectTimeout() { return client.connectTimeoutMillis(); }
@Override public int getConnectTimeout() { return client.connectTimeoutMillis(); }
@Override public int getConnectTimeout() { return client.connectTimeoutMillis(); }
private HttpStream connect() throws RouteException, RequestException, IOException { boolean doExtensiveHealthChecks = !networkRequest.method().equals("GET"); return streamAllocation.newStream(client.connectTimeoutMillis(), client.readTimeoutMillis(), client.writeTimeoutMillis(), client.retryOnConnectionFailure(), doExtensiveHealthChecks); }
@Override public feign.Response execute(feign.Request input, feign.Request.Options options) throws IOException { okhttp3.OkHttpClient requestScoped; if (delegate.connectTimeoutMillis() != options.connectTimeoutMillis() || delegate.readTimeoutMillis() != options.readTimeoutMillis()) { requestScoped = delegate.newBuilder() .connectTimeout(options.connectTimeoutMillis(), TimeUnit.MILLISECONDS) .readTimeout(options.readTimeoutMillis(), TimeUnit.MILLISECONDS) .build(); } else { requestScoped = delegate; } Request request = toOkHttpRequest(input); Response response = requestScoped.newCall(request).execute(); return toFeignResponse(response); } }
Response getResponseWithInterceptorChain() throws IOException { // Build a full stack of interceptors. List<Interceptor> interceptors = new ArrayList<>(); interceptors.addAll(client.interceptors()); interceptors.add(retryAndFollowUpInterceptor); interceptors.add(new BridgeInterceptor(client.cookieJar())); interceptors.add(new CacheInterceptor(client.internalCache())); interceptors.add(new ConnectInterceptor(client)); if (!forWebSocket) { interceptors.addAll(client.networkInterceptors()); } interceptors.add(new CallServerInterceptor(forWebSocket)); Interceptor.Chain chain = new RealInterceptorChain(interceptors, null, null, null, 0, originalRequest, this, eventListener, client.connectTimeoutMillis(), client.readTimeoutMillis(), client.writeTimeoutMillis()); return chain.proceed(originalRequest); } }
@Test public void httpClientConfigured() { assertNotNull(modifiedConfig.getHttpClient()); assertEquals(60000L, modifiedConfig.getHttpClient().connectTimeoutMillis()); }
@Test public void defaultClientWithProxy() { Proxy proxy = mock(java.net.Proxy.class); builder.proxy(proxy); builder.build(); OkHttpClient client = builder.getClientBuilder().build(); assertEquals(EventSource.DEFAULT_CONNECT_TIMEOUT_MS, client.connectTimeoutMillis()); assertEquals(EventSource.DEFAULT_READ_TIMEOUT_MS, client.readTimeoutMillis()); assertEquals(EventSource.DEFAULT_WRITE_TIMEOUT_MS, client.writeTimeoutMillis()); assertEquals(proxy, client.proxy()); }
@Test public void defaultClient() { builder.build(); OkHttpClient client = builder.getClientBuilder().build(); assertEquals(EventSource.DEFAULT_CONNECT_TIMEOUT_MS, client.connectTimeoutMillis()); assertEquals(EventSource.DEFAULT_READ_TIMEOUT_MS, client.readTimeoutMillis()); assertEquals(EventSource.DEFAULT_WRITE_TIMEOUT_MS, client.writeTimeoutMillis()); assertNull(client.proxy()); }
@Test public void defaultClientWithProxyHostAndPort() { String proxyHost = "http://proxy.example.com"; int proxyPort = 8080; builder.proxy(proxyHost, proxyPort); builder.build(); OkHttpClient client = builder.getClientBuilder().build(); assertEquals(EventSource.DEFAULT_CONNECT_TIMEOUT_MS, client.connectTimeoutMillis()); assertEquals(EventSource.DEFAULT_READ_TIMEOUT_MS, client.readTimeoutMillis()); assertEquals(EventSource.DEFAULT_WRITE_TIMEOUT_MS, client.writeTimeoutMillis()); Assert.assertNotNull(client.proxy()); assertEquals(proxyHost + ":" + proxyPort, client.proxy().address().toString()); }
@Test public void defaultClientWithCustomTimeouts() { int connectTimeout = 100; int readTimeout = 1000; int writeTimeout = 10000; builder.connectTimeoutMs(connectTimeout); builder.readTimeoutMs(readTimeout); builder.writeTimeoutMs(writeTimeout); builder.build(); OkHttpClient client = builder.getClientBuilder().build(); assertEquals(connectTimeout, client.connectTimeoutMillis()); assertEquals(readTimeout, client.readTimeoutMillis()); assertEquals(writeTimeout, client.writeTimeoutMillis()); }
@Test public void testConfigurator() { ConfiguratorImpl configurator = new ConfiguratorImpl(); DatabaseClientFactory.addConfigurator(configurator); DatabaseClient client = DatabaseClientFactory.newClient( Common.HOST, Common.PORT, new DigestAuthContext(Common.USER, Common.PASS)); try { assertTrue("Factory did not apply custom configurator", configurator.isConfigured); OkHttpClient okClient = (OkHttpClient) client.getClientImplementation(); assertEquals(testConnectTimeoutMillis, okClient.connectTimeoutMillis()); } finally { client.release(); } }