List of usage examples for org.apache.http.client.cache HeaderConstants WARNING
String WARNING
To view the source code for org.apache.http.client.cache HeaderConstants WARNING.
Click Source Link
From source file:org.apache.http.impl.client.cache.CachingExec.java
private CloseableHttpResponse generateCachedResponse(final HttpRequestWrapper request, final HttpContext context, final HttpCacheEntry entry, final Date now) { final CloseableHttpResponse cachedResponse; if (request.containsHeader(HeaderConstants.IF_NONE_MATCH) || request.containsHeader(HeaderConstants.IF_MODIFIED_SINCE)) { cachedResponse = responseGenerator.generateNotModifiedResponse(entry); } else {/*from w ww .j a v a2 s . c o m*/ cachedResponse = responseGenerator.generateResponse(entry); } setResponseStatus(context, CacheResponseStatus.CACHE_HIT); if (validityPolicy.getStalenessSecs(entry, now) > 0L) { cachedResponse.addHeader(HeaderConstants.WARNING, "110 localhost \"Response is stale\""); } return cachedResponse; }
From source file:org.apache.http.impl.client.cache.CachingExec.java
private CloseableHttpResponse unvalidatedCacheHit(final HttpContext context, final HttpCacheEntry entry) { final CloseableHttpResponse cachedResponse = responseGenerator.generateResponse(entry); setResponseStatus(context, CacheResponseStatus.CACHE_HIT); cachedResponse.addHeader(HeaderConstants.WARNING, "111 localhost \"Revalidation failed\""); return cachedResponse; }
From source file:org.apache.http.impl.client.cache.CachingExec.java
CloseableHttpResponse revalidateCacheEntry(final HttpRoute route, final HttpRequestWrapper request, final HttpClientContext context, final HttpExecutionAware execAware, final HttpCacheEntry cacheEntry) throws IOException, HttpException { final HttpRequestWrapper conditionalRequest = conditionalRequestBuilder.buildConditionalRequest(request, cacheEntry);/* www. j a va2s . co m*/ Date requestDate = getCurrentDate(); CloseableHttpResponse backendResponse = backend.execute(route, conditionalRequest, context, execAware); Date responseDate = getCurrentDate(); if (revalidationResponseIsTooOld(backendResponse, cacheEntry)) { backendResponse.close(); final HttpRequestWrapper unconditional = conditionalRequestBuilder.buildUnconditionalRequest(request, cacheEntry); requestDate = getCurrentDate(); backendResponse = backend.execute(route, unconditional, context, execAware); responseDate = getCurrentDate(); } backendResponse.addHeader(HeaderConstants.VIA, generateViaHeader(backendResponse)); final int statusCode = backendResponse.getStatusLine().getStatusCode(); if (statusCode == HttpStatus.SC_NOT_MODIFIED || statusCode == HttpStatus.SC_OK) { recordCacheUpdate(context); } if (statusCode == HttpStatus.SC_NOT_MODIFIED) { final HttpCacheEntry updatedEntry = responseCache.updateCacheEntry(context.getTargetHost(), request, cacheEntry, backendResponse, requestDate, responseDate); if (suitabilityChecker.isConditional(request) && suitabilityChecker.allConditionalsMatch(request, updatedEntry, new Date())) { return responseGenerator.generateNotModifiedResponse(updatedEntry); } return responseGenerator.generateResponse(updatedEntry); } if (staleIfErrorAppliesTo(statusCode) && !staleResponseNotAllowed(request, cacheEntry, getCurrentDate()) && validityPolicy.mayReturnStaleIfError(request, cacheEntry, responseDate)) { try { final CloseableHttpResponse cachedResponse = responseGenerator.generateResponse(cacheEntry); cachedResponse.addHeader(HeaderConstants.WARNING, "110 localhost \"Response is stale\""); return cachedResponse; } finally { backendResponse.close(); } } return handleBackendResponse(route, conditionalRequest, context, execAware, requestDate, responseDate, backendResponse); }
From source file:org.apache.http.impl.client.cache.CachingHttpAsyncClient.java
private void revalidateCacheEntry(final BasicFuture<HttpResponse> future, final HttpHost target, final HttpRequestWrapper request, final HttpCacheContext clientContext, final HttpCacheEntry entry, final Date now) throws ClientProtocolException { try {/*from w w w .j ava2 s . c om*/ if (this.asynchAsyncRevalidator != null && !staleResponseNotAllowed(request, entry, now) && this.validityPolicy.mayReturnStaleWhileRevalidating(entry, now)) { this.log.debug("Serving stale with asynchronous revalidation"); final HttpResponse resp = this.responseGenerator.generateResponse(request, entry); resp.addHeader(HeaderConstants.WARNING, "110 localhost \"Response is stale\""); this.asynchAsyncRevalidator.revalidateCacheEntry(target, request, clientContext, entry); future.completed(resp); return; } final ChainedFutureCallback<HttpResponse> chainedFutureCallback = new ChainedFutureCallback<HttpResponse>( future) { @Override public void failed(final Exception ex) { if (ex instanceof IOException) { super.completed(handleRevalidationFailure(request, clientContext, entry, now)); } else { super.failed(ex); } } }; final BasicFuture<HttpResponse> compositeFuture = new BasicFuture<HttpResponse>(chainedFutureCallback); revalidateCacheEntry(compositeFuture, target, request, clientContext, entry); } catch (final ProtocolException e) { throw new ClientProtocolException(e); } }
From source file:org.apache.http.impl.client.cache.CachingHttpAsyncClient.java
private HttpResponse unvalidatedCacheHit(final HttpCacheContext clientContext, final HttpRequestWrapper request, final HttpCacheEntry entry) { final HttpResponse cachedResponse = this.responseGenerator.generateResponse(request, entry); setResponseStatus(clientContext, CacheResponseStatus.CACHE_HIT); cachedResponse.addHeader(HeaderConstants.WARNING, "111 localhost \"Revalidation failed\""); return cachedResponse; }
From source file:org.apache.http.impl.client.cache.CachingHttpAsyncClient.java
private void revalidateCacheEntryCompleted(final BasicFuture<HttpResponse> future, final HttpHost target, final HttpRequestWrapper request, final HttpCacheContext clientContext, final HttpCacheEntry cacheEntry, final HttpRequestWrapper conditionalRequest, final Date requestDate, final HttpResponse httpResponse, final Date responseDate) { httpResponse.addHeader(HeaderConstants.VIA, generateViaHeader(httpResponse)); final int statusCode = httpResponse.getStatusLine().getStatusCode(); if (statusCode == HttpStatus.SC_NOT_MODIFIED || statusCode == HttpStatus.SC_OK) { recordCacheUpdate(clientContext); }/* w ww. j a va2 s. c o m*/ if (statusCode == HttpStatus.SC_NOT_MODIFIED) { final HttpCacheEntry updatedEntry; try { updatedEntry = CachingHttpAsyncClient.this.responseCache.updateCacheEntry(target, request, cacheEntry, httpResponse, requestDate, responseDate); } catch (final IOException e) { future.failed(e); return; } if (CachingHttpAsyncClient.this.suitabilityChecker.isConditional(request) && CachingHttpAsyncClient.this.suitabilityChecker.allConditionalsMatch(request, updatedEntry, new Date())) { future.completed( CachingHttpAsyncClient.this.responseGenerator.generateNotModifiedResponse(updatedEntry)); return; } future.completed(CachingHttpAsyncClient.this.responseGenerator.generateResponse(request, updatedEntry)); return; } if (staleIfErrorAppliesTo(statusCode) && !staleResponseNotAllowed(request, cacheEntry, getCurrentDate()) && CachingHttpAsyncClient.this.validityPolicy.mayReturnStaleIfError(request, cacheEntry, responseDate)) { final HttpResponse cachedResponse = CachingHttpAsyncClient.this.responseGenerator .generateResponse(request, cacheEntry); cachedResponse.addHeader(HeaderConstants.WARNING, "110 localhost \"Response is stale\""); future.completed(cachedResponse); return; } try { final CloseableHttpResponse backendResponse = handleBackendResponse(target, conditionalRequest, requestDate, responseDate, Proxies.enhanceResponse(httpResponse)); future.completed(backendResponse); } catch (final IOException e) { future.failed(e); } }
From source file:org.apache.http.impl.client.cache.CachingHttpClient.java
private HttpResponse revalidateCacheEntry(HttpHost target, HttpRequest request, HttpContext context, HttpCacheEntry entry, Date now) throws ClientProtocolException { log.debug("Revalidating the cache entry"); try {/*ww w . j av a 2s . com*/ if (asynchRevalidator != null && !staleResponseNotAllowed(request, entry, now) && validityPolicy.mayReturnStaleWhileRevalidating(entry, now)) { final HttpResponse resp = responseGenerator.generateResponse(entry); resp.addHeader(HeaderConstants.WARNING, "110 localhost \"Response is stale\""); asynchRevalidator.revalidateCacheEntry(target, request, context, entry); return resp; } return revalidateCacheEntry(target, request, context, entry); } catch (IOException ioex) { return handleRevalidationFailure(request, context, entry, now); } catch (ProtocolException e) { throw new ClientProtocolException(e); } }
From source file:org.apache.http.impl.client.cache.CachingHttpClient.java
private HttpResponse unvalidatedCacheHit(HttpContext context, HttpCacheEntry entry) { final HttpResponse cachedResponse = responseGenerator.generateResponse(entry); setResponseStatus(context, CacheResponseStatus.CACHE_HIT); cachedResponse.addHeader(HeaderConstants.WARNING, "111 localhost \"Revalidation failed\""); return cachedResponse; }
From source file:org.apache.http.impl.client.cache.CachingHttpClient.java
HttpResponse revalidateCacheEntry(HttpHost target, HttpRequest request, HttpContext context, HttpCacheEntry cacheEntry) throws IOException, ProtocolException { HttpRequest conditionalRequest = conditionalRequestBuilder.buildConditionalRequest(request, cacheEntry); Date requestDate = getCurrentDate(); HttpResponse backendResponse = backend.execute(target, conditionalRequest, context); Date responseDate = getCurrentDate(); if (revalidationResponseIsTooOld(backendResponse, cacheEntry)) { HttpRequest unconditional = conditionalRequestBuilder.buildUnconditionalRequest(request, cacheEntry); requestDate = getCurrentDate();/* ww w. j a v a2 s . co m*/ backendResponse = backend.execute(target, unconditional, context); responseDate = getCurrentDate(); } backendResponse.addHeader("Via", generateViaHeader(backendResponse)); int statusCode = backendResponse.getStatusLine().getStatusCode(); if (statusCode == HttpStatus.SC_NOT_MODIFIED || statusCode == HttpStatus.SC_OK) { recordCacheUpdate(context); } if (statusCode == HttpStatus.SC_NOT_MODIFIED) { HttpCacheEntry updatedEntry = responseCache.updateCacheEntry(target, request, cacheEntry, backendResponse, requestDate, responseDate); if (suitabilityChecker.isConditional(request) && suitabilityChecker.allConditionalsMatch(request, updatedEntry, new Date())) { return responseGenerator.generateNotModifiedResponse(updatedEntry); } return responseGenerator.generateResponse(updatedEntry); } if (staleIfErrorAppliesTo(statusCode) && !staleResponseNotAllowed(request, cacheEntry, getCurrentDate()) && validityPolicy.mayReturnStaleIfError(request, cacheEntry, responseDate)) { final HttpResponse cachedResponse = responseGenerator.generateResponse(cacheEntry); cachedResponse.addHeader(HeaderConstants.WARNING, "110 localhost \"Response is stale\""); return cachedResponse; } return handleBackendResponse(target, conditionalRequest, requestDate, responseDate, backendResponse); }