public ApacheHttpAsyncClient(HttpAsyncClientBuilder builder, Config config, SharedResourcesBroker<GobblinScopeTypes> broker) { super (broker, HttpUtils.createApacheHttpClientLimiterKey(config)); config = config.withFallback(FALLBACK); RequestConfig requestConfig = RequestConfig.copy(RequestConfig.DEFAULT) .setSocketTimeout(config.getInt(REQUEST_TIME_OUT_MS_KEY)) .setConnectTimeout(config.getInt(CONNECTION_TIME_OUT_MS_KEY)) .setConnectionRequestTimeout(config.getInt(CONNECTION_TIME_OUT_MS_KEY)) .build(); try { builder.disableCookieManagement().useSystemProperties().setDefaultRequestConfig(requestConfig); builder.setConnectionManager(getNHttpConnManager(config)); client = builder.build(); client.start(); } catch (IOException e) { throw new RuntimeException("ApacheHttpAsyncClient cannot be initialized"); } }
clientBuilder.setDefaultRequestConfig(requestConfigBuilder.build());
CloseableHttpAsyncClient asyncClient = HttpAsyncClientBuilder.create().setDefaultRequestConfig(clientConfig).setConnectionManager(asyncConnectionManager).build(); setOption(Option.ASYNCHTTPCLIENT, asyncClient); setOption(Option.ASYNC_MONITOR, new AsyncIdleConnectionMonitorThread(asyncConnectionManager));
@Test public void defaultSettingsOfHttpAsyncClientLostOnExecutorCustomization() throws Exception { CloseableHttpAsyncClient client = HttpAsyncClientBuilder.create() .setDefaultRequestConfig(RequestConfig.custom().setConnectTimeout(1234).build()) .build(); HttpComponentsAsyncClientHttpRequestFactory factory = new HttpComponentsAsyncClientHttpRequestFactory(client); URI uri = new URI(baseUrl + "/status/ok"); HttpComponentsAsyncClientHttpRequest request = (HttpComponentsAsyncClientHttpRequest) factory.createAsyncRequest(uri, HttpMethod.GET); assertNull("No custom config should be set with a custom HttpClient", request.getHttpContext().getAttribute(HttpClientContext.REQUEST_CONFIG)); factory.setConnectionRequestTimeout(4567); HttpComponentsAsyncClientHttpRequest request2 = (HttpComponentsAsyncClientHttpRequest) factory.createAsyncRequest(uri, HttpMethod.GET); Object requestConfigAttribute = request2.getHttpContext().getAttribute(HttpClientContext.REQUEST_CONFIG); assertNotNull(requestConfigAttribute); RequestConfig requestConfig = (RequestConfig) requestConfigAttribute; assertEquals(4567, requestConfig.getConnectionRequestTimeout()); // No way to access the request config of the HTTP client so no way to "merge" our customizations assertEquals(-1, requestConfig.getConnectTimeout()); }
private CloseableHttpAsyncClient createAsyncHttpClient(NHttpClientConnectionManager connectionManager) { return configureHttpClient( HttpAsyncClients.custom() .setConnectionManager(connectionManager) .setDefaultRequestConfig(getRequestConfig()) .setProxyAuthenticationStrategy(httpClientConfig.getProxyAuthenticationStrategy()) .setRoutePlanner(getRoutePlanner()) .setDefaultCredentialsProvider(httpClientConfig.getCredentialsProvider()) ).build(); }
@Bean public CloseableHttpAsyncClient asyncHttpClient(PoolingNHttpClientConnectionManager poolingNHttpClientConnectionManager) { RequestConfig config = RequestConfig.custom() .setConnectTimeout(requestTimeout) .setSocketTimeout(requestTimeout) .setConnectionRequestTimeout(requestTimeout) .build(); return HttpAsyncClientBuilder .create().setConnectionManager(poolingNHttpClientConnectionManager) .setDefaultRequestConfig(config).build(); }
@Bean public CloseableHttpAsyncClient asyncHttpClient(PoolingNHttpClientConnectionManager poolingNHttpClientConnectionManager) { RequestConfig config = RequestConfig.custom() .setConnectTimeout(requestTimeout) .setSocketTimeout(requestTimeout) .setConnectionRequestTimeout(requestTimeout) .build(); return HttpAsyncClientBuilder .create().setConnectionManager(poolingNHttpClientConnectionManager) .setDefaultRequestConfig(config).build(); }
public HttpAsyncClientBuilder httpClientBuilder() { final int connectionTimeout = this.getConnectionTimeout(); final int readTimeout = this.getReadTimeout(); RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(readTimeout) .setConnectTimeout(connectionTimeout).build(); return HttpAsyncClients.custom().setDefaultRequestConfig(requestConfig); }
private static CloseableHttpAsyncClient buildHttpClient() { RequestConfig defaultRequestConfig = RequestConfig.custom() .setConnectionRequestTimeout(DEFAULT_CONNECTION_REQUEST_TIMEOUT) .setConnectTimeout(DEFAULT_CONNECT_TIMEOUT) .setSocketTimeout(DEFAULT_SOCKET_TIMEOUT) .build(); CloseableHttpAsyncClient httpAsyncClient = HttpAsyncClients.custom() .setDefaultRequestConfig(defaultRequestConfig) .build(); // Start httpAsyncClient.start(); return httpAsyncClient; }
private static CloseableHttpAsyncClient initializeHttpClient(URL credentialsScopeUrl, String username, String password) { CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials(new AuthScope(credentialsScopeUrl.getHost(), credentialsScopeUrl.getPort()), new UsernamePasswordCredentials(username, password)); RequestConfig requestConfig = RequestConfig.custom() .setSocketTimeout(20000) .setConnectTimeout(20000) .setConnectionRequestTimeout(20000) .build(); CloseableHttpAsyncClient httpClient = HttpAsyncClients.custom().setDefaultCredentialsProvider(credsProvider) .setDefaultRequestConfig(requestConfig) .build(); httpClient.start(); return httpClient; }
static CloseableHttpAsyncClient buildDefaultHttpClient() { // TODO: Increase timeout?? RequestConfig requestConfig = RequestConfig.custom().build(); CloseableHttpAsyncClient httpClient = HttpAsyncClients.custom().setDefaultRequestConfig(requestConfig).build(); httpClient.start(); return httpClient; }
public ApacheHttpAsyncClient(HttpAsyncClientBuilder builder, Config config, SharedResourcesBroker<GobblinScopeTypes> broker) { super (broker, HttpUtils.createApacheHttpClientLimiterKey(config)); config = config.withFallback(FALLBACK); RequestConfig requestConfig = RequestConfig.copy(RequestConfig.DEFAULT) .setSocketTimeout(config.getInt(REQUEST_TIME_OUT_MS_KEY)) .setConnectTimeout(config.getInt(CONNECTION_TIME_OUT_MS_KEY)) .setConnectionRequestTimeout(config.getInt(CONNECTION_TIME_OUT_MS_KEY)) .build(); try { builder.disableCookieManagement().useSystemProperties().setDefaultRequestConfig(requestConfig); builder.setConnectionManager(getNHttpConnManager(config)); client = builder.build(); client.start(); } catch (IOException e) { throw new RuntimeException("ApacheHttpAsyncClient cannot be initialized"); } }
private CloseableHttpAsyncClient createHttpClient() { //default timeouts are all infinite RequestConfig.Builder requestConfigBuilder = RequestConfig.custom() .setConnectTimeout(DEFAULT_CONNECT_TIMEOUT_MILLIS) .setSocketTimeout(DEFAULT_SOCKET_TIMEOUT_MILLIS) .setConnectionRequestTimeout(DEFAULT_CONNECTION_REQUEST_TIMEOUT_MILLIS); if (requestConfigCallback != null) { requestConfigBuilder = requestConfigCallback.customizeRequestConfig(requestConfigBuilder); } HttpAsyncClientBuilder httpClientBuilder = HttpAsyncClientBuilder.create().setDefaultRequestConfig(requestConfigBuilder.build()) //default settings for connection pooling may be too constraining .setMaxConnPerRoute(DEFAULT_MAX_CONN_PER_ROUTE).setMaxConnTotal(DEFAULT_MAX_CONN_TOTAL); if (httpClientConfigCallback != null) { httpClientBuilder = httpClientConfigCallback.customizeHttpClient(httpClientBuilder); } return httpClientBuilder.build(); }
private CloseableHttpAsyncClient createAsyncClient(RequestConfig clientConfig, PoolingNHttpClientConnectionManager manager) { HttpAsyncClientBuilder asyncBuilder = HttpAsyncClientBuilder.create() .setDefaultRequestConfig(clientConfig) .setDefaultCookieStore(cookieStore) .setSSLContext(sslContext) .setConnectionManager(manager); return addInterceptors(asyncBuilder).build(); }
public static CloseableHttpAsyncClient create(RequestConfig config, NHttpClientConnectionManager connectionManager) { HttpAsyncClientBuilder builder = HttpAsyncClientBuilder.create(); builder.useSystemProperties().setRedirectStrategy(AlwaysRedirectStrategy.DEFAULT).addInterceptorLast(new RequestContent(true)); if (config != null) builder.setDefaultRequestConfig(config); if (connectionManager != null) builder.setConnectionManager(connectionManager); return builder.build(); }
static CloseableHttpAsyncClient create(RequestConfig config, NHttpClientConnectionManager connectionManager) { HttpAsyncClientBuilder builder = HttpAsyncClientBuilder.create(); builder.useSystemProperties().setRedirectStrategy(AlwaysRedirectStrategy.DEFAULT) .addInterceptorLast(new RequestContent(true)); if (config != null) builder.setDefaultRequestConfig(config); if (connectionManager != null) builder.setConnectionManager(connectionManager); return builder.build(); }
public FiberApacheHttpClientRequestExecutor(final Validator<CloseableHttpResponse> resValidator, final int maxConnections, final int timeout, final int parallelism) throws IOReactorException { final DefaultConnectingIOReactor ioreactor = new DefaultConnectingIOReactor(IOReactorConfig.custom(). setConnectTimeout(timeout). setIoThreadCount(parallelism). setSoTimeout(timeout). build()); final PoolingNHttpClientConnectionManager mngr = new PoolingNHttpClientConnectionManager(ioreactor); mngr.setDefaultMaxPerRoute(maxConnections); mngr.setMaxTotal(maxConnections); final CloseableHttpAsyncClient ahc = HttpAsyncClientBuilder.create(). setConnectionManager(mngr). setDefaultRequestConfig(RequestConfig.custom().setLocalAddress(null).build()).build(); client = new FiberHttpClient(ahc); validator = resValidator; }
protected CloseableHttpAsyncClient createAsyncHttpClient(NHttpClientConnectionManager connectionManager) { return HttpAsyncClients.custom() .setConnectionManager(connectionManager) .setDefaultRequestConfig(getRequestConfig()) .setProxyAuthenticationStrategy(httpClientConfig.getProxyAuthenticationStrategy()) .setRoutePlanner(getRoutePlanner()) .setDefaultCredentialsProvider(httpClientConfig.getCredentialsProvider()) .build(); }
/** * Builds the {@link HttpClient}. * * @return an {@link HttpClient} */ public HttpClient build(String name) { RequestConfig createHttpParams = createHttpParams(); final NHttpClientConnectionManager manager = createConnectionManager(registry, name); HttpAsyncClientBuilder clientBuilder = new InstrumentedNHttpClientBuilder(metricRegistry, name); clientBuilder.setConnectionManager(manager); clientBuilder.setDefaultRequestConfig(createHttpParams); setStrategiesForClient(clientBuilder); CloseableHttpAsyncClient client = clientBuilder.build(); client.start(); return new FiberHttpClient(client, getRetryHandler()); }
private CloseableHttpAsyncClient createAsyncHttpClient(NHttpClientConnectionManager connectionManager) { return configureHttpClient( HttpAsyncClients.custom() .setConnectionManager(connectionManager) .setDefaultRequestConfig(getRequestConfig()) .setProxyAuthenticationStrategy(httpClientConfig.getProxyAuthenticationStrategy()) .setRoutePlanner(getRoutePlanner()) .setDefaultCredentialsProvider(httpClientConfig.getCredentialsProvider()) ).build(); }