Java 类org.apache.http.client.entity.GzipCompressingEntity 实例源码

项目:put-it-to-rest    文件:GzippingHttpRequestInterceptor.java   
@Override
public void process(final HttpRequest request, final HttpContext context) throws HttpException, IOException {
    if (request instanceof HttpEntityEnclosingRequest) {
        final HttpEntityEnclosingRequest entityRequest = (HttpEntityEnclosingRequest) request;
        final HttpEntity entity = entityRequest.getEntity();
        if (entity != null) {
            final GzipCompressingEntity zippedEntity = new GzipCompressingEntity(entity);
            entityRequest.setEntity(zippedEntity);

            request.removeHeaders(HTTP.CONTENT_ENCODING);
            request.addHeader(zippedEntity.getContentEncoding());

            request.removeHeaders(HTTP.CONTENT_LEN);

            request.removeHeaders(HTTP.TRANSFER_ENCODING);
            request.addHeader(HTTP.TRANSFER_ENCODING, HTTP.CHUNK_CODING);
        }

    }
}
项目:riptide    文件:GzippingHttpRequestInterceptor.java   
@Override
public void process(final HttpRequest request, final HttpContext context) throws HttpException, IOException {
    if (request instanceof HttpEntityEnclosingRequest) {
        final HttpEntityEnclosingRequest entityRequest = (HttpEntityEnclosingRequest) request;
        final HttpEntity entity = entityRequest.getEntity();
        if (entity != null) {
            final GzipCompressingEntity zippedEntity = new GzipCompressingEntity(entity);
            entityRequest.setEntity(zippedEntity);

            request.removeHeaders(HTTP.CONTENT_ENCODING);
            request.addHeader(zippedEntity.getContentEncoding());

            request.removeHeaders(HTTP.CONTENT_LEN);

            request.removeHeaders(HTTP.TRANSFER_ENCODING);
            request.addHeader(HTTP.TRANSFER_ENCODING, HTTP.CHUNK_CODING);
        }

    }
}
项目:put-it-to-rest    文件:GzippingHttpRequestInterceptorTest.java   
@Test
public void shouldWrapEntity() throws Exception {
    final HttpEntityEnclosingRequest request = mock(HttpEntityEnclosingRequest.class);
    final HttpEntity entity = mock(HttpEntity.class);
    when(entity.getContentType()).thenReturn(new BasicHeader(HTTP.CONTENT_TYPE, "application/xml"));
    when(request.getEntity()).thenReturn(entity);

    unit.process(request, context);

    verify(request).setEntity(argThat(allOf(
            instanceOf(GzipCompressingEntity.class),
            hasFeature((GzipCompressingEntity e) -> e.getContentType().getValue(), is("application/xml")))));
}
项目:riptide    文件:GzippingHttpRequestInterceptorTest.java   
@Test
public void shouldWrapEntity() throws Exception {
    final HttpEntityEnclosingRequest request = mock(HttpEntityEnclosingRequest.class);
    final HttpEntity entity = mock(HttpEntity.class);
    when(entity.getContentType()).thenReturn(new BasicHeader(HTTP.CONTENT_TYPE, "application/xml"));
    when(request.getEntity()).thenReturn(entity);

    unit.process(request, context);

    verify(request).setEntity(argThat(allOf(
            instanceOf(GzipCompressingEntity.class),
            hasFeature((GzipCompressingEntity e) -> e.getContentType().getValue(), is("application/xml")))));
}
项目:Poseidon    文件:HttpConnectionPool.java   
/**
 * 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);
}
项目:Poseidon    文件:HttpConnectionPool.java   
/**
 * 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);
}
项目:Poseidon    文件:HttpConnectionPool.java   
/**
   * 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);
  }
项目:Poseidon    文件:HttpConnectionPool.java   
/**
 *
 * @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));
        }
    }
}
项目:hopsworks    文件:KibanaProxyServlet.java   
/**
 * Copy response body data (the entity) from the proxy to the servlet client.
 *
 * @param proxyResponse
 * @param servletResponse
 * @param kibanaFilter
 * @param email
 * @param index
 * @throws java.io.IOException
 */
protected void copyResponseEntity(HttpResponse proxyResponse,
    HttpServletResponse servletResponse, KibanaFilter kibanaFilter,
    String email, String index) throws
    IOException {
  if (kibanaFilter == null) {
    super.copyResponseEntity(proxyResponse, servletResponse);
  } else {
    switch (kibanaFilter) {
      case KIBANA_INDEXPATTERN_SEARCH:
        HttpEntity entity = proxyResponse.getEntity();
        if (entity != null) {
          GzipDecompressingEntity gzipEntity = new GzipDecompressingEntity(
              entity);
          String resp = EntityUtils.toString(gzipEntity);
          BasicHttpEntity basic = new BasicHttpEntity();
          JSONObject indices = new JSONObject(resp);

          //Remove all projects other than the current one and check
          //if user is authorizer to access it
          List<String> projects = projectController.findProjectNamesByUser(email, true);
          JSONArray hits = indices.getJSONObject("hits").getJSONArray("hits");
          for (int i = hits.length() - 1; i >= 0; i--) {
            String projectName = hits.getJSONObject(i).getString("_id");
            if (index != null) {
              if ((!currentProjects.get(email).equalsIgnoreCase(projectName) || !projects.contains(projectName))
                  && !projectName.equals(Settings.KIBANA_DEFAULT_INDEX) && !projectName.equals(index)) {
                hits.remove(i);
              }
            } else {
              if ((!currentProjects.get(email).equalsIgnoreCase(projectName) || !projects.contains(projectName))
                  && !projectName.equals(Settings.KIBANA_DEFAULT_INDEX)) {
                hits.remove(i);
              }
            }
          }

          InputStream in = IOUtils.toInputStream(indices.toString());

          OutputStream servletOutputStream = servletResponse.getOutputStream();
          basic.setContent(in);
          GzipCompressingEntity compress = new GzipCompressingEntity(basic);
          compress.writeTo(servletOutputStream);
        }
        break;
      default:
        super.copyResponseEntity(proxyResponse, servletResponse);
        break;
    }

  }
}