@Override public void configure(Binder binder) { Multibinder<SingularityAuthenticator> multibinder = Multibinder.newSetBinder(binder, SingularityAuthenticator.class); for (SingularityAuthenticatorClass clazz : getConfiguration().getAuthConfiguration().getAuthenticators()) { multibinder.addBinding().to(clazz.getAuthenticatorClass()); if (clazz == SingularityAuthenticatorClass.WEBHOOK) { AuthConfiguration authConfiguration = getConfiguration().getAuthConfiguration(); AsyncHttpClientConfig clientConfig = new AsyncHttpClientConfig.Builder() .setConnectionTimeoutInMs(authConfiguration.getWebhookAuthConnectTimeoutMs()) .setRequestTimeoutInMs(authConfiguration.getWebhookAuthRequestTimeoutMs()) .setMaxRequestRetry(authConfiguration.getWebhookAuthRetries()) .build(); SingularityAsyncHttpClient webhookAsyncHttpClient = new SingularityAsyncHttpClient(clientConfig); binder.bind(AsyncHttpClient.class).annotatedWith(Names.named(WEBHOOK_AUTH_HTTP_CLIENT)).toInstance(webhookAsyncHttpClient); } } binder.bind(SingularityAuthFeature.class); binder.bind(SingularityMultiMethodAuthenticator.class); binder.bind(SingularityAuthDatastore.class).to(getConfiguration().getAuthConfiguration().getDatastore().getAuthDatastoreClass()); binder.bind(SingularityAuthorizationHelper.class).in(Scopes.SINGLETON); } }
@Provides @Singleton @Named(LOCAL_DOWNLOAD_HTTP_CLIENT) public AsyncHttpClient providesHttpClient(SingularityExecutorConfiguration configuration) { AsyncHttpClientConfig.Builder configBldr = new AsyncHttpClientConfig.Builder(); configBldr.setRequestTimeoutInMs((int) configuration.getLocalDownloadServiceTimeoutMillis()); configBldr.setIdleConnectionTimeoutInMs((int) configuration.getLocalDownloadServiceTimeoutMillis()); configBldr.addRequestFilter(new ThrottleRequestFilter(configuration.getLocalDownloadServiceMaxConnections())); return new AsyncHttpClient(configBldr.build()); }
.setConnectionTimeoutInMs(CONNECTION_TIMEOUT) .setIdleConnectionInPoolTimeoutInMs(IDLE_CONNECTION_TIMEOUT) .setRequestTimeoutInMs(REQUEST_TIMEOUT).setMaxRequestRetry(0).build(); this.asyncHttpClient = new AsyncHttpClient(config);
result.setRequestTimeoutInMs( timeout );
.setRequestTimeoutInMs(httpConnParams.getReadTimeout()) .setUseRawUrl(true) .build();
configBuilder.setFollowRedirects( true ); configBuilder.setMaxRequestRetry( 0 ); configBuilder.setRequestTimeoutInMs( ConfigUtils.getInteger( session, ConfigurationProperties.DEFAULT_REQUEST_TIMEOUT, ConfigurationProperties.REQUEST_TIMEOUT ) );
.setConnectionTimeoutInMs(CONNECTION_TIMEOUT) .setIdleConnectionInPoolTimeoutInMs(IDLE_CONNECTION_TIMEOUT) .setRequestTimeoutInMs(REQUEST_TIMEOUT).setMaxRequestRetry(0).build(); this.asyncHttpClient = new AsyncHttpClient(config);
configBuilder.setFollowRedirects( true ); configBuilder.setMaxRequestRetry( 0 ); configBuilder.setRequestTimeoutInMs( ConfigUtils.getInteger( session, ConfigurationProperties.DEFAULT_REQUEST_TIMEOUT, ConfigurationProperties.REQUEST_TIMEOUT ) );
private void initFromOptions(ClientOptions options) { if(options != ClientOptions.IMPLEMENTATION_DEFAULT) { AsyncHttpClientConfig.Builder config = new AsyncHttpClientConfig.Builder(); config.setUserAgent(options.userAgent); if(options.proxyHost != null) { config.setProxyServer(new ProxyServer(options.proxyHost, options.proxyPort)); } config.setConnectionTimeoutInMs(options.connectionTimeoutMillis); config.setRequestTimeoutInMs(options.requestTimeoutMillis); config.setFollowRedirects(options.followRedirects); config.setMaximumConnectionsPerHost(options.maxConnectionsPerDestination); config.setMaximumConnectionsTotal(options.maxConnectionsTotal); config.setFollowRedirects(RequestOptions.DEFAULT_FOLLOW_REDIRECTS); config.setAllowPoolingConnection(options.getBooleanProperty("allowPoolingConnection", true)); config.setIOThreadMultiplier(options.getIntProperty("ioThreadMultiplier", 2)); config.setIdleConnectionInPoolTimeoutInMs(options.getTimeProperty("idleConnectionInPoolTimeout", 60 * 1000)); config.setIdleConnectionTimeoutInMs(options.getTimeProperty("idleConnectionTimeout", 60 * 1000)); config.setMaxConnectionLifeTimeInMs(options.getTimeProperty("maxConnectionLife", -1)); config.setCompressionEnabled(options.getBooleanProperty("compressionEnabled", false)); config.setRequestCompressionLevel(options.getIntProperty("requestCompressionLevel", 1)); this.httpClient = new AsyncHttpClient(config.build()); } else { this.httpClient = new AsyncHttpClient(new AsyncHttpClientConfig.Builder().build()); } }
@Override public final void init(final Map<String, String> properties) { // map properties url = properties.get(PROPERTY_URL); final String basicAuthUser = properties.get(PROPERTY_BASIC_AUTH_USER); final String basicAuthPassword = properties.get(PROPERTY_BASIC_AUTH_PASSWORD); final String proxyHost = properties.get(PROPERTY_PROXY_HOST); final String proxyUser = properties.get(PROPERTY_PROXY_USER); final String proxyPassword = properties.get(PROPERTY_PROXY_PASSWORD); final Integer proxyPort = convertStringToInt(properties.get(PROPERTY_PROXY_PORT), null); final Integer requestTimeoutInMs = convertStringToInt(properties.get(PROPERTY_REQUEST_TIMEOUT), DEFAULT_REQUEST_TIMEOUT); builder = new AsyncHttpClientConfig.Builder(); if (basicAuthUser != null && basicAuthPassword != null) { final Realm realm = new Realm.RealmBuilder().setPrincipal(basicAuthUser).setPassword(basicAuthPassword).setUsePreemptiveAuth(true) .setScheme(AuthScheme.BASIC).build(); builder.setRealm(realm); } // Add Proxy Support - use authentication if user and password properties are set if (proxyHost != null && proxyPort != null) { final ProxyServer proxy; if (proxyUser != null && proxyPassword != null) { proxy = new ProxyServer(proxyHost, proxyPort, proxyUser, proxyPassword); } else { proxy = new ProxyServer(proxyHost, proxyPort); } builder.setProxyServer(proxy); } builder.setRequestTimeoutInMs(requestTimeoutInMs); builder.setIdleConnectionTimeoutInMs(DEFAULT_REQUEST_IDLE_TIMEOUT); }
@Override public void configure(Binder binder) { Multibinder<SingularityAuthenticator> multibinder = Multibinder.newSetBinder(binder, SingularityAuthenticator.class); for (SingularityAuthenticatorClass clazz : getConfiguration().getAuthConfiguration().getAuthenticators()) { multibinder.addBinding().to(clazz.getAuthenticatorClass()); if (clazz == SingularityAuthenticatorClass.WEBHOOK) { AuthConfiguration authConfiguration = getConfiguration().getAuthConfiguration(); AsyncHttpClientConfig clientConfig = new AsyncHttpClientConfig.Builder() .setConnectionTimeoutInMs(authConfiguration.getWebhookAuthConnectTimeoutMs()) .setRequestTimeoutInMs(authConfiguration.getWebhookAuthRequestTimeoutMs()) .setMaxRequestRetry(authConfiguration.getWebhookAuthRetries()) .build(); SingularityAsyncHttpClient webhookAsyncHttpClient = new SingularityAsyncHttpClient(clientConfig); binder.bind(AsyncHttpClient.class).annotatedWith(Names.named(WEBHOOK_AUTH_HTTP_CLIENT)).toInstance(webhookAsyncHttpClient); } } binder.bind(SingularityAuthFeature.class); binder.bind(SingularityMultiMethodAuthenticator.class); binder.bind(SingularityAuthDatastore.class).to(getConfiguration().getAuthConfiguration().getDatastore().getAuthDatastoreClass()); binder.bind(SingularityAuthorizationHelper.class).in(Scopes.SINGLETON); } }
public AsyncHttpClientCube( CubeBuilder cubeBuilder ) { super( cubeBuilder ); NettyAsyncHttpProviderConfig conf = new NettyAsyncHttpProviderConfig(); conf.addProperty( NettyAsyncHttpProviderConfig.BOSS_EXECUTOR_SERVICE, Executors.newSingleThreadExecutor() ); AsyncHttpClientConfig asyncHttpClientConfig = new AsyncHttpClientConfig.Builder().setAsyncHttpClientProviderConfig( conf ) // .setAllowPoolingConnection( true ) // .setAllowSslConnectionPool( true ) // .setConnectionTimeoutInMs( cubeBuilder.getConnectionTimeout() ) // .setRequestTimeoutInMs( cubeBuilder.getPostTimeout() ) // .setMaxRequestRetry( 1 ) // .setMaximumConnectionsPerHost( cubeBuilder.getDefaultMaxPerRoute() ) // .setMaximumConnectionsTotal( cubeBuilder.getMaxTotalConnections() ) // .build(); this.asyncHttpClient = new AsyncHttpClient( asyncHttpClientConfig ); }
@Override public void setReadTimeout(Integer interval) { clientHandler.getConfig().getAsyncHttpClientConfigBuilder().setRequestTimeoutInMs(interval); }
private AsyncHttpClientConfig createAsyncHttpClientConfig() { Builder builder = new AsyncHttpClientConfig.Builder(); builder.setRequestTimeoutInMs(REQUEST_TIMEOUT_MS); return builder.build(); }
@Override public void setReadTimeout(Integer interval) { clientHandler.getConfig().getAsyncHttpClientConfigBuilder().setRequestTimeoutInMs(interval); }