Example usage for org.apache.http.client.cache CacheResponseStatus CACHE_MISS

List of usage examples for org.apache.http.client.cache CacheResponseStatus CACHE_MISS

Introduction

In this page you can find the example usage for org.apache.http.client.cache CacheResponseStatus CACHE_MISS.

Prototype

CacheResponseStatus CACHE_MISS

To view the source code for org.apache.http.client.cache CacheResponseStatus CACHE_MISS.

Click Source Link

Document

The response came from an upstream server.

Usage

From source file:org.esigate.extension.monitoring.Metric.java

@Override
public boolean event(EventDefinition id, Event event) {

    String timerName = MetricRegistry.name(this.getClass().getSimpleName(),
            driver.getConfiguration().getInstanceName(), id.getId());

    if (EventManager.EVENT_PROXY_POST.equals(id)) {
        if (((ProxyEvent) event).getErrorPage() != null) {
            String statusCode = String.valueOf(
                    ((ProxyEvent) event).getErrorPage().getHttpResponse().getStatusLine().getStatusCode());
            timerName = MetricRegistry.name(timerName, "error", statusCode);
        }//from  w ww.j av a2  s .  c  o m
    } else if (EventManager.EVENT_FETCH_POST.equals(id)) {
        // Retrieve HTTP response status code and cache status
        FetchEvent e = (FetchEvent) event;
        int statusCode = e.getHttpResponse().getStatusLine().getStatusCode();
        CacheResponseStatus cacheResponseStatus = (CacheResponseStatus) e.getHttpContext()
                .getAttribute(HttpCacheContext.CACHE_RESPONSE_STATUS);

        // Adding status code when error
        if (statusCode >= HttpStatus.SC_BAD_REQUEST) {
            timerName = MetricRegistry.name(timerName, "error", String.valueOf(statusCode));
        }
        // Adding cache if not MISS
        if (cacheResponseStatus != null && !cacheResponseStatus.equals(CacheResponseStatus.CACHE_MISS)) {
            timerName = MetricRegistry.name(timerName, cacheResponseStatus.name().toLowerCase());
        }
    }

    metric.meter(timerName).mark();

    return true;
}

From source file:org.apache.http.impl.client.cache.CachingExec.java

public CloseableHttpResponse execute(final HttpRoute route, final HttpRequestWrapper request,
        final HttpClientContext context, final HttpExecutionAware execAware) throws IOException, HttpException {

    final HttpHost target = context.getTargetHost();
    final String via = generateViaHeader(request.getOriginal());

    // default response context
    setResponseStatus(context, CacheResponseStatus.CACHE_MISS);

    if (clientRequestsOurOptions(request)) {
        setResponseStatus(context, CacheResponseStatus.CACHE_MODULE_RESPONSE);
        return Proxies.enhanceResponse(new OptionsHttp11Response());
    }//from w w  w.j a v  a  2 s . c  o m

    final HttpResponse fatalErrorResponse = getFatallyNoncompliantResponse(request, context);
    if (fatalErrorResponse != null) {
        return Proxies.enhanceResponse(fatalErrorResponse);
    }

    requestCompliance.makeRequestCompliant(request);
    request.addHeader("Via", via);

    flushEntriesInvalidatedByRequest(context.getTargetHost(), request);

    if (!cacheableRequestPolicy.isServableFromCache(request)) {
        log.debug("Request is not servable from cache");
        return callBackend(route, request, context, execAware);
    }

    final HttpCacheEntry entry = satisfyFromCache(target, request);
    if (entry == null) {
        log.debug("Cache miss");
        return handleCacheMiss(route, request, context, execAware);
    } else {
        return handleCacheHit(route, request, context, execAware, entry);
    }
}

From source file:org.apache.http.impl.client.cache.CachingHttpAsyncClient.java

@Override
public Future<HttpResponse> execute(final HttpHost target, final HttpRequest originalRequest,
        final HttpContext context, final FutureCallback<HttpResponse> futureCallback) {
    final BasicFuture<HttpResponse> future = new BasicFuture<HttpResponse>(futureCallback);
    final HttpRequestWrapper request = HttpRequestWrapper.wrap(originalRequest);
    final HttpCacheContext clientContext = HttpCacheContext.adapt(context);
    // default response context
    setResponseStatus(clientContext, CacheResponseStatus.CACHE_MISS);

    final String via = generateViaHeader(request);

    if (clientRequestsOurOptions(request)) {
        setResponseStatus(clientContext, CacheResponseStatus.CACHE_MODULE_RESPONSE);
        future.completed(new OptionsHttp11Response());
        return future;
    }//from ww w  .  ja va  2s.com

    final HttpResponse fatalErrorResponse = getFatallyNoncompliantResponse(request, clientContext);
    if (fatalErrorResponse != null) {
        future.completed(fatalErrorResponse);
        return future;
    }

    try {
        this.requestCompliance.makeRequestCompliant(request);
    } catch (final ClientProtocolException e) {
        future.failed(e);
        return future;
    }
    request.addHeader(HeaderConstants.VIA, via);

    flushEntriesInvalidatedByRequest(target, request);

    if (!this.cacheableRequestPolicy.isServableFromCache(request)) {
        log.debug("Request is not servable from cache");
        callBackend(future, target, request, clientContext);
        return future;
    }

    final HttpCacheEntry entry = satisfyFromCache(target, request);
    if (entry == null) {
        log.debug("Cache miss");
        handleCacheMiss(future, target, request, clientContext);
    } else {
        try {
            handleCacheHit(future, target, request, clientContext, entry);
        } catch (final IOException e) {
            future.failed(e);
        }
    }
    return future;
}

From source file:org.apache.http.impl.client.cache.CachingHttpClient.java

public HttpResponse execute(HttpHost target, HttpRequest request, HttpContext context) throws IOException {

    // default response context
    setResponseStatus(context, CacheResponseStatus.CACHE_MISS);

    String via = generateViaHeader(request);

    if (clientRequestsOurOptions(request)) {
        setResponseStatus(context, CacheResponseStatus.CACHE_MODULE_RESPONSE);
        return new OptionsHttp11Response();
    }/*  ww  w.  j  a v  a 2s.  co  m*/

    HttpResponse fatalErrorResponse = getFatallyNoncompliantResponse(request, context);
    if (fatalErrorResponse != null)
        return fatalErrorResponse;

    request = requestCompliance.makeRequestCompliant(request);
    request.addHeader("Via", via);

    flushEntriesInvalidatedByRequest(target, request);

    if (!cacheableRequestPolicy.isServableFromCache(request)) {
        return callBackend(target, request, context);
    }

    HttpCacheEntry entry = satisfyFromCache(target, request);
    if (entry == null) {
        return handleCacheMiss(target, request, context);
    }

    return handleCacheHit(target, request, context, entry);
}