下面列出了怎么用org.apache.http.client.entity.GzipCompressingEntity的API类实例代码及写法,或者点击链接到github查看源代码。
private static void publishNexmark(
final Collection<Map<String, Object>> results, final InfluxDBSettings settings)
throws Exception {
final HttpClientBuilder builder = provideHttpBuilder(settings);
final HttpPost postRequest = providePOSTRequest(settings);
final StringBuilder metricBuilder = new StringBuilder();
results.forEach(
map ->
metricBuilder
.append(map.get("measurement"))
.append(",")
.append(getKV(map, "runner"))
.append(" ")
.append(getKV(map, "runtimeMs"))
.append(",")
.append(getKV(map, "numResults"))
.append(" ")
.append(map.get("timestamp"))
.append('\n'));
postRequest.setEntity(
new GzipCompressingEntity(new ByteArrayEntity(metricBuilder.toString().getBytes(UTF_8))));
executeWithVerification(postRequest, builder);
}
/**
* Method for executing HTTP PUT request
*/
public HttpResponse doPUT(String uri, byte[] data, Map<String, String> requestHeaders) throws Exception {
HttpPut request = new HttpPut(constructUrl(uri));
if (data != null) {
if (this.requestGzipEnabled) {
request.addHeader(CONTENT_ENCODING, COMPRESSION_TYPE);
request.setEntity(new GzipCompressingEntity(new ByteArrayEntity(data)));
} else {
request.setEntity(new ByteArrayEntity(data));
}
}
setRequestHeaders(request, requestHeaders);
return execute(request);
}
/**
* Method for executing HTTP POST request
*/
public HttpResponse doPOST(String uri, byte[] data, Map<String, String> requestHeaders) throws Exception {
HttpPost request = new HttpPost(constructUrl(uri));
if (data != null) {
if (this.requestGzipEnabled) {
request.addHeader(CONTENT_ENCODING, COMPRESSION_TYPE);
request.setEntity(new GzipCompressingEntity(new ByteArrayEntity(data)));
} else {
request.setEntity(new ByteArrayEntity(data));
}
}
setRequestHeaders(request, requestHeaders);
return execute(request);
}
/**
* Method for executing HTTP POST request with form params
*/
public HttpResponse doPOST(String uri, List<NameValuePair> formParams , Map<String, String> requestHeaders) throws Exception {
HttpPost request = new HttpPost(constructUrl(uri));
if (this.requestGzipEnabled) {
request.addHeader(CONTENT_ENCODING, COMPRESSION_TYPE);
request.setEntity(new GzipCompressingEntity(new UrlEncodedFormEntity(formParams)));
} else {
request.setEntity(new UrlEncodedFormEntity(formParams));
}
setRequestHeaders(request, requestHeaders);
return execute(request);
}
/**
*
* @param request
* @param data
*/
private void setRequestBody(HttpEntityEnclosingRequestBase request, byte[] data) {
if (data != null) {
if (this.requestGzipEnabled) {
request.addHeader(CONTENT_ENCODING, COMPRESSION_TYPE);
request.setEntity(new GzipCompressingEntity(new ByteArrayEntity(data)));
} else {
request.setEntity(new ByteArrayEntity(data));
}
}
}
public RequestExecutor setGzipContent(String content) {
this.entity = new GzipCompressingEntity(new StringEntity(content, StandardCharsets.UTF_8));
return this;
}