List of usage examples for org.apache.http.impl.nio.client HttpAsyncClientBuilder setDefaultRequestConfig
public final HttpAsyncClientBuilder setDefaultRequestConfig(final RequestConfig config)
From source file:io.wcm.caravan.commons.httpasyncclient.impl.HttpAsyncClientItem.java
private static CloseableHttpAsyncClient buildHttpAsyncClient(HttpClientConfig config, PoolingNHttpClientConnectionManager connectionManager, CredentialsProvider credentialsProvider) { // prepare HTTPClient builder HttpAsyncClientBuilder httpClientAsyncBuilder = HttpAsyncClientBuilder.create() .setConnectionManager(connectionManager); // timeout settings httpClientAsyncBuilder.setDefaultRequestConfig(RequestConfig.custom() .setConnectTimeout(config.getConnectTimeout()).setSocketTimeout(config.getSocketTimeout()).build()); httpClientAsyncBuilder.setDefaultCredentialsProvider(credentialsProvider); // optional proxy support if (StringUtils.isNotEmpty(config.getProxyHost())) { httpClientAsyncBuilder.setProxy(new HttpHost(config.getProxyHost(), config.getProxyPort())); // optional proxy authentication if (StringUtils.isNotEmpty(config.getProxyUser())) { httpClientAsyncBuilder.setProxyAuthenticationStrategy(new ProxyAuthenticationStrategy()); }/*from w w w. jav a2 s .co m*/ } return httpClientAsyncBuilder.build(); }
From source file:securitytools.common.http.HttpClientFactory.java
public static CloseableHttpAsyncClient buildAsync(ClientConfiguration clientConfiguration) throws NoSuchAlgorithmException { HttpAsyncClientBuilder builder = HttpAsyncClients.custom(); // Certificate Validation // TODO/* w ww . j a v a 2 s . co m*/ if (clientConfiguration.isCertificateValidationEnabled()) { builder.setSSLStrategy(new SSLIOSessionStrategy(SSLContext.getDefault(), SSLConnectionSocketFactory.STRICT_HOSTNAME_VERIFIER)); } else { // Disable SSLIOSessionStrategy sslStrategy = new SSLIOSessionStrategy(SSLContext.getDefault(), SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); builder.setSSLStrategy(sslStrategy); } // Timeouts RequestConfig.Builder requestConfigBuilder = RequestConfig.custom(); requestConfigBuilder.setConnectTimeout(clientConfiguration.getConnectionTimeout()); requestConfigBuilder.setConnectionRequestTimeout(clientConfiguration.getConnectionTimeout()); requestConfigBuilder.setSocketTimeout(clientConfiguration.getSocketTimeout()); builder.setDefaultRequestConfig(requestConfigBuilder.build()); // User Agent builder.setUserAgent(clientConfiguration.getUserAgent()); // Proxy if (clientConfiguration.getProxyHost() != null) { builder.setProxy(clientConfiguration.getProxyHost()); } return builder.build(); }
From source file:co.paralleluniverse.fibers.dropwizard.FiberHttpClientBuilder.java
/** * Builds the {@link HttpClient}./* w w w . j a v a2 s.co m*/ * * @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()); }
From source file:HCNIOEngine.java
private CloseableHttpAsyncClient createCloseableHttpAsyncClient() throws Exception { HttpAsyncClientBuilder builder = HttpAsyncClientBuilder.create(); builder.useSystemProperties();/*from ww w .j a v a 2 s . c om*/ builder.setSSLContext(SSLContext.getDefault()); builder.setConnectionReuseStrategy(DefaultConnectionReuseStrategy.INSTANCE); builder.setMaxConnPerRoute(2); builder.setMaxConnTotal(2); builder.setDefaultRequestConfig(RequestConfig.custom().setConnectionRequestTimeout(1000) .setConnectTimeout(2000).setSocketTimeout(2000).build()); // builder.setHttpProcessor() CloseableHttpAsyncClient hc = builder.build(); hc.start(); return hc; }
From source file:org.jenkinsci.plugins.relution_publisher.net.RequestManager.java
private CloseableHttpAsyncClient createHttpClient() { final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom(); requestConfigBuilder.setConnectionRequestTimeout(TIMEOUT_CONNECTION_REQUEST); requestConfigBuilder.setConnectTimeout(TIMEOUT_CONNECT); requestConfigBuilder.setSocketTimeout(TIMEOUT_SOCKET); if (this.mProxyHost != null) { requestConfigBuilder.setProxy(this.mProxyHost); }//w w w . java2 s . com final HttpAsyncClientBuilder clientBuilder = HttpAsyncClients.custom(); final RequestConfig requestConfig = requestConfigBuilder.build(); clientBuilder.setDefaultRequestConfig(requestConfig); if (this.mProxyHost != null && this.mCredentials != null) { final AuthScope authScope = new AuthScope(this.mProxyHost); final CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); credentialsProvider.setCredentials(authScope, this.mCredentials); clientBuilder.setDefaultCredentialsProvider(credentialsProvider); } return clientBuilder.build(); }
From source file:com.cisco.oss.foundation.http.apache.ApacheHttpClient.java
@Override protected void configureClient() { RequestConfig.Builder requestBuilder = RequestConfig.custom(); requestBuilder = requestBuilder.setConnectTimeout(metadata.getConnectTimeout()); requestBuilder = requestBuilder.setSocketTimeout(metadata.getReadTimeout()); requestBuilder = requestBuilder.setStaleConnectionCheckEnabled(metadata.isStaleConnectionCheckEnabled()); RequestConfig requestConfig = requestBuilder.build(); boolean addSslSupport = StringUtils.isNotEmpty(metadata.getKeyStorePath()) && StringUtils.isNotEmpty(metadata.getKeyStorePassword()); boolean addTrustSupport = StringUtils.isNotEmpty(metadata.getTrustStorePath()) && StringUtils.isNotEmpty(metadata.getTrustStorePassword()); autoCloseable = metadata.isAutoCloseable(); HttpClientBuilder httpClientBuilder = HttpClientBuilder.create(); SSLContext sslContext = null; try {//from www . ja va 2 s . com String keystoreType = "JKS"; if (addSslSupport && addTrustSupport) { KeyStore keyStore = KeyStore.getInstance(keystoreType); keyStore.load(new FileInputStream(metadata.getKeyStorePath()), metadata.getKeyStorePassword().toCharArray()); KeyStore trustStore = KeyStore.getInstance(keystoreType); trustStore.load(new FileInputStream(metadata.getTrustStorePath()), metadata.getTrustStorePassword().toCharArray()); sslContext = SSLContexts.custom().useProtocol("TLS") .loadKeyMaterial(keyStore, metadata.getKeyStorePassword().toCharArray()) .loadTrustMaterial(trustStore, null).build(); } else if (addSslSupport) { TrustManagerFactory tmf = TrustManagerFactory .getInstance(TrustManagerFactory.getDefaultAlgorithm()); KeyStore keyStore = KeyStore.getInstance(keystoreType); keyStore.load(new FileInputStream(metadata.getKeyStorePath()), metadata.getKeyStorePassword().toCharArray()); tmf.init(keyStore); sslContext = SSLContexts.custom().useProtocol("SSL") .loadKeyMaterial(keyStore, metadata.getKeyStorePassword().toCharArray()).build(); sslContext.init(null, tmf.getTrustManagers(), null); SSLConnectionSocketFactory sf = new SSLConnectionSocketFactory(sslContext, hostnameVerifier); httpClientBuilder.setSSLSocketFactory(sf); } else if (addTrustSupport) { KeyStore trustStore = KeyStore.getInstance(keystoreType); trustStore.load(new FileInputStream(metadata.getTrustStorePath()), metadata.getTrustStorePassword().toCharArray()); sslContext = SSLContexts.custom().useProtocol("TLS").loadTrustMaterial(trustStore, null).build(); } if (addSslSupport | addTrustSupport) { SSLContext.setDefault(sslContext); httpClientBuilder.setSslcontext(sslContext); } } catch (Exception e) { LOGGER.error("can't set TLS Support. Error is: {}", e, e); } httpClientBuilder.setMaxConnPerRoute(metadata.getMaxConnectionsPerAddress()) .setMaxConnTotal(metadata.getMaxConnectionsTotal()).setDefaultRequestConfig(requestConfig) .evictExpiredConnections().evictIdleConnections(metadata.getIdleTimeout(), TimeUnit.MILLISECONDS) .setKeepAliveStrategy(new InfraConnectionKeepAliveStrategy(metadata.getIdleTimeout())); HttpAsyncClientBuilder httpAsyncClientBuilder = HttpAsyncClients.custom(); httpAsyncClientBuilder.setDefaultRequestConfig(requestConfig) .setMaxConnPerRoute(metadata.getMaxConnectionsPerAddress()) .setMaxConnTotal(metadata.getMaxConnectionsTotal()) .setKeepAliveStrategy(new InfraConnectionKeepAliveStrategy(metadata.getIdleTimeout())) .setSSLContext(sslContext); if (metadata.isDisableCookies()) { httpClientBuilder.disableCookieManagement(); httpAsyncClientBuilder.disableCookieManagement(); } if (hostnameVerifier != null) { httpClientBuilder.setSSLHostnameVerifier(hostnameVerifier); httpAsyncClientBuilder.setSSLHostnameVerifier(hostnameVerifier); } if (!followRedirects) { httpClientBuilder.disableRedirectHandling(); } httpClient = httpClientBuilder.build(); httpAsyncClient = httpAsyncClientBuilder.build(); httpAsyncClient.start(); }
From source file:org.apache.camel.component.olingo2.Olingo2Component.java
private Olingo2AppWrapper createOlingo2App(Olingo2Configuration configuration) { HttpAsyncClientBuilder clientBuilder = configuration.getHttpAsyncClientBuilder(); if (clientBuilder == null) { clientBuilder = HttpAsyncClientBuilder.create(); // apply simple configuration properties final RequestConfig.Builder requestConfigBuilder = RequestConfig.custom(); requestConfigBuilder.setConnectTimeout(configuration.getConnectTimeout()); requestConfigBuilder.setSocketTimeout(configuration.getSocketTimeout()); final HttpHost proxy = configuration.getProxy(); if (proxy != null) { requestConfigBuilder.setProxy(proxy); }//from w w w .j a v a2 s .co m // set default request config clientBuilder.setDefaultRequestConfig(requestConfigBuilder.build()); SSLContextParameters sslContextParameters = configuration.getSslContextParameters(); if (sslContextParameters == null) { // use defaults if not specified sslContextParameters = new SSLContextParameters(); } try { clientBuilder.setSSLContext(sslContextParameters.createSSLContext()); } catch (GeneralSecurityException e) { throw ObjectHelper.wrapRuntimeCamelException(e); } catch (IOException e) { throw ObjectHelper.wrapRuntimeCamelException(e); } } apiProxy = new Olingo2AppWrapper(new Olingo2AppImpl(configuration.getServiceUri(), clientBuilder)); apiProxy.getOlingo2App().setContentType(configuration.getContentType()); apiProxy.getOlingo2App().setHttpHeaders(configuration.getHttpHeaders()); return apiProxy; }
From source file:com.cisco.oss.foundation.http.netlifx.apache.ApacheNetflixHttpClient.java
protected void configureClient() { clientConfig = new DefaultClientConfigImpl(); clientConfig.loadProperties(getApiName()); setLoadBalancer(loadBalancer);//from w w w . j a va2 s.co m // clientConfig.set(CommonClientConfigKey.NIWSServerListClassName, DiscoveryEnabledNIWSServerList.class.getName()); // clientConfig.set(IClientConfigKey.Keys.DeploymentContextBasedVipAddresses, metadata.getServiceName()); // clientConfig.set(CommonClientConfigKey.NFLoadBalancerRuleClassName, RoundRobinRule.class.getName()); // clientConfig.set(CommonClientConfigKey.NFLoadBalancerPingClassName, NIWSDiscoveryPing.class.getName()); // clientConfig.set(CommonClientConfigKey.VipAddressResolverClassName, SimpleVipAddressResolver.class.getName()); if (DiscoveryManager.getInstance().getDiscoveryClient() == null && startEurekaClient) { EurekaInstanceConfig eurekaInstanceConfig = new MyDataCenterInstanceConfig(getApiName()); EurekaClientConfig eurekaClientConfig = new DefaultEurekaClientConfig(getApiName() + "."); DiscoveryManager.getInstance().initComponent(eurekaInstanceConfig, eurekaClientConfig); } loadBalancer.initWithNiwsConfig(clientConfig); // if (HystrixPlugins.getInstance().getMetricsPublisher() == null) { // HystrixPlugins.getInstance().registerMetricsPublisher(HystrixMetricsPublisherDefault.getInstance()); // } RequestConfig.Builder requestBuilder = RequestConfig.custom(); requestBuilder = requestBuilder.setConnectTimeout(metadata.getConnectTimeout()); requestBuilder = requestBuilder.setSocketTimeout(metadata.getReadTimeout()); requestBuilder = requestBuilder.setStaleConnectionCheckEnabled(metadata.isStaleConnectionCheckEnabled()); RequestConfig requestConfig = requestBuilder.build(); boolean addSslSupport = StringUtils.isNotEmpty(metadata.getKeyStorePath()) && StringUtils.isNotEmpty(metadata.getKeyStorePassword()); boolean addTrustSupport = StringUtils.isNotEmpty(metadata.getTrustStorePath()) && StringUtils.isNotEmpty(metadata.getTrustStorePassword()); autoCloseable = metadata.isAutoCloseable(); autoEncodeUri = metadata.isAutoEncodeUri(); followRedirects = metadata.isFollowRedirects(); HttpClientBuilder httpClientBuilder = HttpClientBuilder.create(); SSLContext sslContext = null; try { String keystoreType = "JKS"; if (addSslSupport && addTrustSupport) { KeyStore keyStore = KeyStore.getInstance(keystoreType); keyStore.load(new FileInputStream(metadata.getKeyStorePath()), metadata.getKeyStorePassword().toCharArray()); KeyStore trustStore = KeyStore.getInstance(keystoreType); trustStore.load(new FileInputStream(metadata.getTrustStorePath()), metadata.getTrustStorePassword().toCharArray()); sslContext = SSLContexts.custom().useProtocol("TLS") .loadKeyMaterial(keyStore, metadata.getKeyStorePassword().toCharArray()) .loadTrustMaterial(trustStore, null).build(); } else if (addSslSupport) { TrustManagerFactory tmf = TrustManagerFactory .getInstance(TrustManagerFactory.getDefaultAlgorithm()); KeyStore keyStore = KeyStore.getInstance(keystoreType); keyStore.load(new FileInputStream(metadata.getKeyStorePath()), metadata.getKeyStorePassword().toCharArray()); tmf.init(keyStore); sslContext = SSLContexts.custom().useProtocol("SSL") .loadKeyMaterial(keyStore, metadata.getKeyStorePassword().toCharArray()).build(); sslContext.init(null, tmf.getTrustManagers(), null); SSLConnectionSocketFactory sf = new SSLConnectionSocketFactory(sslContext, hostnameVerifier); httpClientBuilder.setSSLSocketFactory(sf); } else if (addTrustSupport) { KeyStore trustStore = KeyStore.getInstance(keystoreType); trustStore.load(new FileInputStream(metadata.getTrustStorePath()), metadata.getTrustStorePassword().toCharArray()); sslContext = SSLContexts.custom().useProtocol("TLS").loadTrustMaterial(trustStore, null).build(); } if (addSslSupport | addTrustSupport) { SSLContext.setDefault(sslContext); httpClientBuilder.setSslcontext(sslContext); } } catch (Exception e) { LOGGER.error("can't set TLS Support. Error is: {}", e, e); } httpClientBuilder.setMaxConnPerRoute(metadata.getMaxConnectionsPerAddress()) .setMaxConnTotal(metadata.getMaxConnectionsTotal()).setDefaultRequestConfig(requestConfig) .evictExpiredConnections().evictIdleConnections(metadata.getIdleTimeout(), TimeUnit.MILLISECONDS) .setKeepAliveStrategy(new InfraConnectionKeepAliveStrategy(metadata.getIdleTimeout())); HttpAsyncClientBuilder httpAsyncClientBuilder = HttpAsyncClients.custom(); httpAsyncClientBuilder.setDefaultRequestConfig(requestConfig) .setMaxConnPerRoute(metadata.getMaxConnectionsPerAddress()) .setMaxConnTotal(metadata.getMaxConnectionsTotal()) .setKeepAliveStrategy(new InfraConnectionKeepAliveStrategy(metadata.getIdleTimeout())) .setSSLContext(sslContext); if (metadata.isDisableCookies()) { httpClientBuilder.disableCookieManagement(); httpAsyncClientBuilder.disableCookieManagement(); } if (hostnameVerifier != null) { httpClientBuilder.setSSLHostnameVerifier(hostnameVerifier); httpAsyncClientBuilder.setSSLHostnameVerifier(hostnameVerifier); } if (!followRedirects) { httpClientBuilder.disableRedirectHandling(); } httpClient = httpClientBuilder.build(); httpAsyncClient = httpAsyncClientBuilder.build(); httpAsyncClient.start(); }
From source file:net.tirasa.wink.client.asynchttpclient.ApacheHttpAsyncClientConnectionHandler.java
private synchronized CloseableHttpAsyncClient openConnection(ClientRequest request) throws NoSuchAlgorithmException, KeyManagementException, IOException { if (this.httpclient != null) { return this.httpclient; }/*from w w w .j a va2s .c o m*/ HttpAsyncClientBuilder clientBuilder = HttpAsyncClientBuilder.create(); // cast is safe because we're on the client ApacheHttpAsyncClientConfig config = (ApacheHttpAsyncClientConfig) request .getAttribute(WinkConfiguration.class); RequestConfig.Builder requestConfigBuilder = RequestConfig.custom() .setConnectTimeout(config.getConnectTimeout()).setSocketTimeout(config.getReadTimeout()); if (config.isFollowRedirects()) { requestConfigBuilder.setRedirectsEnabled(true).setCircularRedirectsAllowed(true); } // setup proxy if (config.getProxyHost() != null) { requestConfigBuilder.setProxy(new HttpHost(config.getProxyHost(), config.getProxyPort())); } clientBuilder.setDefaultRequestConfig(requestConfigBuilder.build()); Registry<SchemeIOSessionFactory> connManagerRegistry; if (config.getBypassHostnameVerification()) { SSLContext sslcontext = SSLContext.getInstance("TLS"); sslcontext.init(null, null, null); connManagerRegistry = RegistryBuilder.<SchemeIOSessionFactory>create() .register("http", PlainIOSessionFactory.INSTANCE) .register("https", new SSLIOSessionFactory(sslcontext, new X509HostnameVerifier() { @Override public boolean verify(String hostname, SSLSession session) { return true; } @Override public void verify(String host, String[] cns, String[] subjectAlts) throws SSLException { } @Override public void verify(String host, X509Certificate cert) throws SSLException { } @Override public void verify(String host, SSLSocket ssl) throws IOException { } })).build(); } else { connManagerRegistry = RegistryBuilder.<SchemeIOSessionFactory>create() .register("http", PlainIOSessionFactory.INSTANCE) .register("https", SSLIOSessionFactory.getDefaultStrategy()).build(); } PoolingNHttpClientConnectionManager httpConnectionManager = new PoolingNHttpClientConnectionManager( new DefaultConnectingIOReactor(IOReactorConfig.DEFAULT), connManagerRegistry); if (config.getMaxPooledConnections() > 0) { httpConnectionManager.setMaxTotal(config.getMaxPooledConnections()); httpConnectionManager.setDefaultMaxPerRoute(config.getMaxPooledConnections()); } clientBuilder.setConnectionManager(httpConnectionManager); this.httpclient = clientBuilder.build(); this.httpclient.start(); return this.httpclient; }