Example usage for org.apache.http.impl.client.cache OptionsHttp11Response OptionsHttp11Response

List of usage examples for org.apache.http.impl.client.cache OptionsHttp11Response OptionsHttp11Response

Introduction

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

Prototype

OptionsHttp11Response

Source Link

Usage

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());
    }/* ww  w  .  j  a v a2  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   w ww.j  a  v  a2s . c o m

    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();
    }/*from w  w w  .  j  av a  2s.  c  o  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);
}