private void removeResponseTransferEncoding(final HttpResponse response) { response.removeHeaders("TE"); response.removeHeaders(HTTP.TRANSFER_ENCODING); }
@Override public void removeHeaders(final String name) { original.removeHeaders(name); }
private void ensure304DoesNotContainExtraEntityHeaders(final HttpResponse response) { final String[] disallowedEntityHeaders = { HeaderConstants.ALLOW, HTTP.CONTENT_ENCODING, "Content-Language", HTTP.CONTENT_LEN, "Content-MD5", "Content-Range", HTTP.CONTENT_TYPE, HeaderConstants.LAST_MODIFIED }; if (response.getStatusLine().getStatusCode() == HttpStatus.SC_NOT_MODIFIED) { for(final String hdr : disallowedEntityHeaders) { response.removeHeaders(hdr); } } }
return; response.removeHeaders(HTTP.CONTENT_ENCODING); for (final Header h : newHeaders) { response.addHeader(h);
@Override public void process( final HttpResponse response, final HttpContext context) throws HttpException, IOException { final HttpEntity entity = response.getEntity(); final HttpClientContext clientContext = HttpClientContext.adapt(context); final RequestConfig requestConfig = clientContext.getRequestConfig(); // entity can be null in case of 304 Not Modified, 204 No Content or similar // check for zero length entity. if (requestConfig.isDecompressionEnabled() && entity != null && entity.getContentLength() != 0) { final Header ceheader = entity.getContentEncoding(); if (ceheader != null) { final HeaderElement[] codecs = ceheader.getElements(); for (final HeaderElement codec : codecs) { final String codecname = codec.getName().toLowerCase(Locale.ROOT); final InputStreamFactory decoderFactory = decoderRegistry.lookup(codecname); if (decoderFactory != null) { response.setEntity(new DecompressingEntity(response.getEntity(), decoderFactory)); response.removeHeaders("Content-Length"); response.removeHeaders("Content-Encoding"); response.removeHeaders("Content-MD5"); } else { if (!"identity".equals(codecname)) { throw new HttpException("Unsupported Content-Coding: " + codec.getName()); } } } } } }
private void warningsWithNonMatchingWarnDatesAreRemoved( final HttpResponse response) { final Date responseDate = DateUtils.parseDate(response.getFirstHeader(HTTP.DATE_HEADER).getValue()); if (responseDate == null) { return; } final Header[] warningHeaders = response.getHeaders(HeaderConstants.WARNING); if (warningHeaders == null || warningHeaders.length == 0) { return; } final List<Header> newWarningHeaders = new ArrayList<Header>(); boolean modified = false; for(final Header h : warningHeaders) { for(final WarningValue wv : WarningValue.getWarningValues(h)) { final Date warnDate = wv.getWarnDate(); if (warnDate == null || warnDate.equals(responseDate)) { newWarningHeaders.add(new BasicHeader(HeaderConstants.WARNING,wv.toString())); } else { modified = true; } } } if (modified) { response.removeHeaders(HeaderConstants.WARNING); for(final Header h : newWarningHeaders) { response.addHeader(h); } } }
contentEncodingInterceptor.process(response, localContext); if (Boolean.TRUE.equals(localContext.getAttribute(ResponseContentEncoding.UNCOMPRESSED))) { response.removeHeaders("Content-Length"); response.removeHeaders("Content-Encoding"); response.removeHeaders("Content-MD5");
Args.notNull(response, "HTTP response"); if (this.overwrite) { response.removeHeaders(HTTP.TRANSFER_ENCODING); response.removeHeaders(HTTP.CONTENT_LEN); } else { if (response.containsHeader(HTTP.TRANSFER_ENCODING)) {