private RequestConfig mergeRequestConfig(RequestConfig defaultRequestConfig) { if (this.requestConfig == null) { // nothing to merge return defaultRequestConfig; } RequestConfig.Builder builder = RequestConfig.copy(defaultRequestConfig); int connectTimeout = this.requestConfig.getConnectTimeout(); if (connectTimeout >= 0) { builder.setConnectTimeout(connectTimeout); } int connectionRequestTimeout = this.requestConfig.getConnectionRequestTimeout(); if (connectionRequestTimeout >= 0) { builder.setConnectionRequestTimeout(connectionRequestTimeout); } int socketTimeout = this.requestConfig.getSocketTimeout(); if (socketTimeout >= 0) { builder.setSocketTimeout(socketTimeout); } return builder.build(); }
/** * Create a new instance of the HttpComponentsHttpInvokerRequestExecutor with a default * {@link HttpClient} that uses a default {@code org.apache.http.impl.conn.PoolingClientConnectionManager}. */ public HttpComponentsHttpInvokerRequestExecutor() { this(createDefaultHttpClient(), RequestConfig.custom() .setSocketTimeout(DEFAULT_READ_TIMEOUT_MILLISECONDS).build()); }
@Override public void setHessianProxyFactory(HessianProxyFactory factory) { RequestConfig requestConfig = RequestConfig.custom() .setConnectionRequestTimeout((int) factory.getConnectTimeout()) .setSocketTimeout((int) factory.getReadTimeout()) .build(); httpClient = HttpClientBuilder.create().setDefaultRequestConfig(requestConfig).build(); }
@SuppressWarnings("deprecation") private RequestConfig createRequestConfig() { return RequestConfig.custom() .setRedirectsEnabled(false) .setSocketTimeout(0) .setStaleConnectionCheckEnabled(true) .build(); }
protected RequestConfig getRequestConfig() { Builder builder = RequestConfig.custom() .setCookieSpec(CookieSpecs.IGNORE_COOKIES) .setAuthenticationEnabled(false).setRedirectsEnabled(false); return builder.build(); } });
/** * Set the connection timeout for the underlying HttpClient. * A timeout value of 0 specifies an infinite timeout. * <p>Additional properties can be configured by specifying a * {@link RequestConfig} instance on a custom {@link HttpClient}. * @param timeout the timeout value in milliseconds * @see RequestConfig#getConnectTimeout() */ public void setConnectTimeout(int timeout) { Assert.isTrue(timeout >= 0, "Timeout must be a non-negative value"); this.requestConfig = cloneRequestConfig().setConnectTimeout(timeout).build(); }
/** * Set the socket read timeout for the underlying {@link RequestConfig}. * A timeout value of 0 specifies an infinite timeout. * <p>Additional properties can be configured by specifying a * {@link RequestConfig} instance on a custom {@link HttpClient}. * @param timeout the timeout value in milliseconds * @see RequestConfig#getSocketTimeout() */ public void setReadTimeout(int timeout) { Assert.isTrue(timeout >= 0, "Timeout must be a non-negative value"); this.requestConfig = requestConfigBuilder().setSocketTimeout(timeout).build(); }
/** * Set the timeout in milliseconds used when requesting a connection from the connection * manager using the underlying HttpClient. * A timeout value of 0 specifies an infinite timeout. * <p>Additional properties can be configured by specifying a * {@link RequestConfig} instance on a custom {@link HttpClient}. * @param connectionRequestTimeout the timeout value to request a connection in milliseconds * @see RequestConfig#getConnectionRequestTimeout() */ public void setConnectionRequestTimeout(int connectionRequestTimeout) { this.requestConfig = cloneRequestConfig().setConnectionRequestTimeout(connectionRequestTimeout).build(); }
@Override public void setHessianProxyFactory(HessianProxyFactory factory) { RequestConfig requestConfig = RequestConfig.custom() .setConnectionRequestTimeout((int) factory.getConnectTimeout()) .setSocketTimeout((int) factory.getReadTimeout()) .build(); httpClient = HttpClientBuilder.create().setDefaultRequestConfig(requestConfig).build(); }
/** * Merge the given {@link HttpClient}-level {@link RequestConfig} with * the factory-level {@link RequestConfig}, if necessary. * @param clientConfig the config held by the current * @return the merged request config * @since 4.2 */ protected RequestConfig mergeRequestConfig(RequestConfig clientConfig) { if (this.requestConfig == null) { // nothing to merge return clientConfig; } RequestConfig.Builder builder = RequestConfig.copy(clientConfig); int connectTimeout = this.requestConfig.getConnectTimeout(); if (connectTimeout >= 0) { builder.setConnectTimeout(connectTimeout); } int connectionRequestTimeout = this.requestConfig.getConnectionRequestTimeout(); if (connectionRequestTimeout >= 0) { builder.setConnectionRequestTimeout(connectionRequestTimeout); } int socketTimeout = this.requestConfig.getSocketTimeout(); if (socketTimeout >= 0) { builder.setSocketTimeout(socketTimeout); } return builder.build(); }
/** * Create a new instance of the HttpComponentsHttpInvokerRequestExecutor with a default * {@link HttpClient} that uses a default {@code org.apache.http.impl.conn.PoolingClientConnectionManager}. */ public HttpComponentsHttpInvokerRequestExecutor() { this(createDefaultHttpClient(), RequestConfig.custom() .setSocketTimeout(DEFAULT_READ_TIMEOUT_MILLISECONDS).build()); }
/** * Set the connection timeout for the underlying {@link RequestConfig}. * A timeout value of 0 specifies an infinite timeout. * <p>Additional properties can be configured by specifying a * {@link RequestConfig} instance on a custom {@link HttpClient}. * <p>This options does not affect connection timeouts for SSL * handshakes or CONNECT requests; for that, it is required to * use the {@link org.apache.http.config.SocketConfig} on the * {@link HttpClient} itself. * @param timeout the timeout value in milliseconds * @see RequestConfig#getConnectTimeout() * @see org.apache.http.config.SocketConfig#getSoTimeout */ public void setConnectTimeout(int timeout) { Assert.isTrue(timeout >= 0, "Timeout must be a non-negative value"); this.requestConfig = requestConfigBuilder().setConnectTimeout(timeout).build(); }
/** * Set the socket read timeout for the underlying HttpClient. * A timeout value of 0 specifies an infinite timeout. * <p>Additional properties can be configured by specifying a * {@link RequestConfig} instance on a custom {@link HttpClient}. * @param timeout the timeout value in milliseconds * @see #DEFAULT_READ_TIMEOUT_MILLISECONDS * @see RequestConfig#getSocketTimeout() */ public void setReadTimeout(int timeout) { Assert.isTrue(timeout >= 0, "Timeout must be a non-negative value"); this.requestConfig = cloneRequestConfig().setSocketTimeout(timeout).build(); }
/** * Set the timeout in milliseconds used when requesting a connection * from the connection manager using the underlying {@link RequestConfig}. * A timeout value of 0 specifies an infinite timeout. * <p>Additional properties can be configured by specifying a * {@link RequestConfig} instance on a custom {@link HttpClient}. * @param connectionRequestTimeout the timeout value to request a connection in milliseconds * @see RequestConfig#getConnectionRequestTimeout() */ public void setConnectionRequestTimeout(int connectionRequestTimeout) { this.requestConfig = requestConfigBuilder() .setConnectionRequestTimeout(connectionRequestTimeout).build(); }
private void setupClient() { RequestConfig.Builder requestBuilder = RequestConfig.custom(); requestBuilder = requestBuilder.setConnectTimeout(conTimeout); requestBuilder = requestBuilder.setConnectionRequestTimeout(readTimeout); requestBuilder = requestBuilder.setSocketTimeout(readTimeout); HttpClientBuilder clientBuilder = HttpClientBuilder.create().setDefaultRequestConfig(requestBuilder.build()); this.client = clientBuilder.setConnectionManagerShared(true).build(); }
private RequestConfig mergeRequestConfig(RequestConfig defaultRequestConfig) { if (this.requestConfig == null) { // nothing to merge return defaultRequestConfig; } RequestConfig.Builder builder = RequestConfig.copy(defaultRequestConfig); int connectTimeout = this.requestConfig.getConnectTimeout(); if (connectTimeout >= 0) { builder.setConnectTimeout(connectTimeout); } int connectionRequestTimeout = this.requestConfig.getConnectionRequestTimeout(); if (connectionRequestTimeout >= 0) { builder.setConnectionRequestTimeout(connectionRequestTimeout); } int socketTimeout = this.requestConfig.getSocketTimeout(); if (socketTimeout >= 0) { builder.setSocketTimeout(socketTimeout); } return builder.build(); }