@Override public void addHeader(final Header header) { original.addHeader(header); }
@Override public void addHeader(final String name, final String value) { original.addHeader(name, value); }
private void ensure206ContainsDateHeader(final HttpResponse response) { if (response.getFirstHeader(HTTP.DATE_HEADER) == null) { response.addHeader(HTTP.DATE_HEADER, DateUtils.formatDate(new Date())); } }
@Override public void process(final HttpResponse response, final HttpContext context) throws HttpException, IOException { Args.notNull(response, "HTTP response"); if (!response.containsHeader(HTTP.SERVER_HEADER)) { if (this.originServer != null) { response.addHeader(HTTP.SERVER_HEADER, this.originServer); } } }
response.addHeader(h);
private void ensure200ForOPTIONSRequestWithNoBodyHasContentLengthZero(final HttpRequest request, final HttpResponse response) { if (!request.getRequestLine().getMethod().equalsIgnoreCase(HeaderConstants.OPTIONS_METHOD)) { return; } if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) { return; } if (response.getFirstHeader(HTTP.CONTENT_LEN) == null) { response.addHeader(HTTP.CONTENT_LEN, "0"); } }
/** * For 304 Not modified responses, adds a "Last-Modified" header with the * value of the "If-Modified-Since" header passed in the request. This * header is required to be able to reuse match the cache entry for * subsequent requests but as defined in http specifications it is not * included in 304 responses by backend servers. This header will not be * included in the resulting response. */ private void storeRequestIfModifiedSinceFor304Response( final HttpRequest request, final HttpResponse backendResponse) { if (backendResponse.getStatusLine().getStatusCode() == HttpStatus.SC_NOT_MODIFIED) { final Header h = request.getFirstHeader("If-Modified-Since"); if (h != null) { backendResponse.addHeader("Last-Modified", h.getValue()); } } }
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); } } }
final long len = entity.getContentLength(); if (entity.isChunked() && !ver.lessEquals(HttpVersion.HTTP_1_0)) { response.addHeader(HTTP.TRANSFER_ENCODING, HTTP.CHUNK_CODING); } else if (len >= 0) { response.addHeader(HTTP.CONTENT_LEN, Long.toString(entity.getContentLength())); response.addHeader(entity.getContentType()); response.addHeader(entity.getContentEncoding()); && status != HttpStatus.SC_NOT_MODIFIED && status != HttpStatus.SC_RESET_CONTENT) { response.addHeader(HTTP.CONTENT_LEN, "0");