@Test(groups = { "standalone", "default_provider", "async" }) public void asyncDoPostBasicGZIPTest() throws Throwable { AsyncHttpClientConfig cf = new AsyncHttpClientConfig.Builder().setCompressionEnforced(true).build(); try (AsyncHttpClient client = getAsyncHttpClient(cf)) { final CountDownLatch l = new CountDownLatch(1);
DatastoreImpl(final DatastoreConfig config) { this.config = config; final AsyncHttpClientConfig httpConfig = new AsyncHttpClientConfig.Builder() .setConnectTimeout(config.getConnectTimeout()) .setRequestTimeout(config.getRequestTimeout()) .setMaxConnections(config.getMaxConnections()) .setMaxRequestRetry(config.getRequestRetry()) .setCompressionEnforced(true) .build(); client = new AsyncHttpClient(httpConfig); prefixUri = String.format("%s/%s/projects/%s:", config.getHost(), config.getVersion(), config.getProject()); executor = Executors.newSingleThreadScheduledExecutor(); if (config.getCredential() != null) { // block while retrieving an access token for the first time refreshAccessToken(); // wake up every 10 seconds to check if access token has expired executor.scheduleAtFixedRate(this::refreshAccessToken, 10, 10, TimeUnit.SECONDS); } }
/** * Creates new HttpClient from the configuration set * * @return new HttpClient instance */ public HttpClient build() { final AsyncHttpClientConfig.Builder configBuilder = new AsyncHttpClientConfig.Builder(). setConnectTimeout(connectionTimeout). setMaxRequestRetry(retries). setRequestTimeout(requestTimeout). setCompressionEnforced(compressionEnforced). setDisableUrlEncodingForBoundedRequests(disableUrlEncoding). setMaxConnectionsPerHost(maxConnectionsPerHost). setMaxConnections(maxTotalConnections). setAsyncHttpClientProviderConfig(NettyConfigHolder.INSTANCE). setFollowRedirect(followRedirect). setAcceptAnyCertificate(acceptAnySslCertificate); if (readTimeout != null) { configBuilder.setReadTimeout(readTimeout); } return new HttpClient(new AsyncHttpClient(configBuilder.build()), responseMaxSize, marshallingStrategy); } }
public void setCompressionEnabled(boolean compressionEnabled) { builder.setCompressionEnforced(compressionEnabled); }
public Builder setCompressionEnforced(boolean compressionEnabled) { configBuilder.setCompressionEnforced(compressionEnabled); return this; }
public Builder setCompressionEnforced(boolean compressionEnabled) { configBuilder.setCompressionEnforced(compressionEnabled); return this; }
AsyncHttpClientConfig createHttpClientConfig() { return new Builder() .setCompressionEnforced( true ) .setAllowPoolingConnections( true ) .setExecutorService( executor ) .setRequestTimeout( 30000 ) .build(); }
AsyncHttpClient buildDefaultClient() { builder.setMaxRequestRetry(maxRequestRetry)//尝试重试次数 .setAllowPoolingConnections(allowPollingConnections)//开启连接池模式 .setMaxConnections(maxConnections)//最大连接数 .setConnectTimeout(connectTimeout)//连接超时时间 .setPooledConnectionIdleTimeout(readTimeout)//设置连接池超时时间 .setReadTimeout(readTimeout)//读取请求超时时间 .setFollowRedirect(followRedirect)//开启重定向追踪 .setMaxRedirects(maxRedirects)//重定向次数限制 .setUserAgent(userAgent)//设置UserAgent .setMaxConnectionsPerHost(maxConnectionsPerHost)//设置初始连接池大小 .setIOThreadMultiplier(ioThreadMultiplier)//用于IO的线程数 .setCompressionEnforced(compressionEnforced)//压缩执行 ; return new AsyncHttpClient(builder.build()); }
public Builder setCompressionEnforced(boolean compressionEnabled) { configBuilder.setCompressionEnforced(compressionEnabled); return this; }