Java Code Examples for com.squareup.okhttp.OkResponseCache#trackConditionalCacheHit()

The following examples show how to use com.squareup.okhttp.OkResponseCache#trackConditionalCacheHit() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: HttpEngine.java    From L.TileLayer.Cordova with MIT License 4 votes vote down vote up
/**
 * Flushes the remaining request header and body, parses the HTTP response
 * headers and starts reading the HTTP response body if it exists.
 */
public final void readResponse() throws IOException {
  if (hasResponse()) {
    responseHeaders.setResponseSource(responseSource);
    return;
  }

  if (responseSource == null) {
    throw new IllegalStateException("readResponse() without sendRequest()");
  }

  if (!responseSource.requiresConnection()) {
    return;
  }

  if (sentRequestMillis == -1) {
    if (requestBodyOut instanceof RetryableOutputStream) {
      int contentLength = ((RetryableOutputStream) requestBodyOut).contentLength();
      requestHeaders.setContentLength(contentLength);
    }
    transport.writeRequestHeaders();
  }

  if (requestBodyOut != null) {
    requestBodyOut.close();
    if (requestBodyOut instanceof RetryableOutputStream) {
      transport.writeRequestBody((RetryableOutputStream) requestBodyOut);
    }
  }

  transport.flushRequest();

  responseHeaders = transport.readResponseHeaders();
  responseHeaders.setLocalTimestamps(sentRequestMillis, System.currentTimeMillis());
  responseHeaders.setResponseSource(responseSource);

  if (responseSource == ResponseSource.CONDITIONAL_CACHE) {
    if (cachedResponseHeaders.validate(responseHeaders)) {
      release(false);
      ResponseHeaders combinedHeaders = cachedResponseHeaders.combine(responseHeaders);
      this.responseHeaders = combinedHeaders;

      // Update the cache after applying the combined headers but before initializing the content
      // stream, otherwise the Content-Encoding header (if present) will be stripped from the
      // combined headers and not end up in the cache file if transparent gzip compression is
      // turned on.
      OkResponseCache responseCache = client.getOkResponseCache();
      responseCache.trackConditionalCacheHit();
      responseCache.update(cacheResponse, policy.getHttpConnectionToCache());

      initContentStream(cachedResponseBody);
      return;
    } else {
      Util.closeQuietly(cachedResponseBody);
    }
  }

  if (hasResponseBody()) {
    maybeCache(); // reentrant. this calls into user code which may call back into this!
  }

  initContentStream(transport.getTransferStream(cacheRequest));
}
 
Example 2
Source File: HttpEngine.java    From IoTgo_Android_App with MIT License 4 votes vote down vote up
/**
 * Flushes the remaining request header and body, parses the HTTP response
 * headers and starts reading the HTTP response body if it exists.
 */
public final void readResponse() throws IOException {
  if (hasResponse()) {
    responseHeaders.setResponseSource(responseSource);
    return;
  }

  if (responseSource == null) {
    throw new IllegalStateException("readResponse() without sendRequest()");
  }

  if (!responseSource.requiresConnection()) {
    return;
  }

  if (sentRequestMillis == -1) {
    if (requestBodyOut instanceof RetryableOutputStream) {
      int contentLength = ((RetryableOutputStream) requestBodyOut).contentLength();
      requestHeaders.setContentLength(contentLength);
    }
    transport.writeRequestHeaders();
  }

  if (requestBodyOut != null) {
    requestBodyOut.close();
    if (requestBodyOut instanceof RetryableOutputStream) {
      transport.writeRequestBody((RetryableOutputStream) requestBodyOut);
    }
  }

  transport.flushRequest();

  responseHeaders = transport.readResponseHeaders();
  responseHeaders.setLocalTimestamps(sentRequestMillis, System.currentTimeMillis());
  responseHeaders.setResponseSource(responseSource);

  if (responseSource == ResponseSource.CONDITIONAL_CACHE) {
    if (cachedResponseHeaders.validate(responseHeaders)) {
      release(false);
      ResponseHeaders combinedHeaders = cachedResponseHeaders.combine(responseHeaders);
      this.responseHeaders = combinedHeaders;

      // Update the cache after applying the combined headers but before initializing the content
      // stream, otherwise the Content-Encoding header (if present) will be stripped from the
      // combined headers and not end up in the cache file if transparent gzip compression is
      // turned on.
      OkResponseCache responseCache = client.getOkResponseCache();
      responseCache.trackConditionalCacheHit();
      responseCache.update(cacheResponse, policy.getHttpConnectionToCache());

      initContentStream(cachedResponseBody);
      return;
    } else {
      Util.closeQuietly(cachedResponseBody);
    }
  }

  if (hasResponseBody()) {
    maybeCache(); // reentrant. this calls into user code which may call back into this!
  }

  initContentStream(transport.getTransferStream(cacheRequest));
}
 
Example 3
Source File: HttpEngine.java    From android-discourse with Apache License 2.0 4 votes vote down vote up
/**
 * Flushes the remaining request header and body, parses the HTTP response
 * headers and starts reading the HTTP response body if it exists.
 */
public final void readResponse() throws IOException {
    if (hasResponse()) {
        responseHeaders.setResponseSource(responseSource);
        return;
    }

    if (responseSource == null) {
        throw new IllegalStateException("readResponse() without sendRequest()");
    }

    if (!responseSource.requiresConnection()) {
        return;
    }

    if (sentRequestMillis == -1) {
        if (requestBodyOut instanceof RetryableOutputStream) {
            int contentLength = ((RetryableOutputStream) requestBodyOut).contentLength();
            requestHeaders.setContentLength(contentLength);
        }
        transport.writeRequestHeaders();
    }

    if (requestBodyOut != null) {
        requestBodyOut.close();
        if (requestBodyOut instanceof RetryableOutputStream) {
            transport.writeRequestBody((RetryableOutputStream) requestBodyOut);
        }
    }

    transport.flushRequest();

    responseHeaders = transport.readResponseHeaders();
    responseHeaders.setLocalTimestamps(sentRequestMillis, System.currentTimeMillis());
    responseHeaders.setResponseSource(responseSource);

    if (responseSource == ResponseSource.CONDITIONAL_CACHE) {
        if (cachedResponseHeaders.validate(responseHeaders)) {
            release(false);
            ResponseHeaders combinedHeaders = cachedResponseHeaders.combine(responseHeaders);
            setResponse(combinedHeaders, cachedResponseBody);
            OkResponseCache responseCache = client.getOkResponseCache();
            responseCache.trackConditionalCacheHit();
            responseCache.update(cacheResponse, policy.getHttpConnectionToCache());
            return;
        } else {
            Util.closeQuietly(cachedResponseBody);
        }
    }

    if (hasResponseBody()) {
        maybeCache(); // reentrant. this calls into user code which may call back into this!
    }

    initContentStream(transport.getTransferStream(cacheRequest));
}
 
Example 4
Source File: HttpEngine.java    From bluemix-parking-meter with MIT License 4 votes vote down vote up
/**
 * Flushes the remaining request header and body, parses the HTTP response
 * headers and starts reading the HTTP response body if it exists.
 */
public final void readResponse() throws IOException {
  if (hasResponse()) {
    responseHeaders.setResponseSource(responseSource);
    return;
  }

  if (responseSource == null) {
    throw new IllegalStateException("readResponse() without sendRequest()");
  }

  if (!responseSource.requiresConnection()) {
    return;
  }

  if (sentRequestMillis == -1) {
    if (requestBodyOut instanceof RetryableOutputStream) {
      int contentLength = ((RetryableOutputStream) requestBodyOut).contentLength();
      requestHeaders.setContentLength(contentLength);
    }
    transport.writeRequestHeaders();
  }

  if (requestBodyOut != null) {
    requestBodyOut.close();
    if (requestBodyOut instanceof RetryableOutputStream) {
      transport.writeRequestBody((RetryableOutputStream) requestBodyOut);
    }
  }

  transport.flushRequest();

  responseHeaders = transport.readResponseHeaders();
  responseHeaders.setLocalTimestamps(sentRequestMillis, System.currentTimeMillis());
  responseHeaders.setResponseSource(responseSource);

  if (responseSource == ResponseSource.CONDITIONAL_CACHE) {
    if (cachedResponseHeaders.validate(responseHeaders)) {
      release(false);
      ResponseHeaders combinedHeaders = cachedResponseHeaders.combine(responseHeaders);
      this.responseHeaders = combinedHeaders;

      // Update the cache after applying the combined headers but before initializing the content
      // stream, otherwise the Content-Encoding header (if present) will be stripped from the
      // combined headers and not end up in the cache file if transparent gzip compression is
      // turned on.
      OkResponseCache responseCache = client.getOkResponseCache();
      responseCache.trackConditionalCacheHit();
      responseCache.update(cacheResponse, policy.getHttpConnectionToCache());

      initContentStream(cachedResponseBody);
      return;
    } else {
      Util.closeQuietly(cachedResponseBody);
    }
  }

  if (hasResponseBody()) {
    maybeCache(); // reentrant. this calls into user code which may call back into this!
  }

  initContentStream(transport.getTransferStream(cacheRequest));
}
 
Example 5
Source File: HttpEngine.java    From reader with MIT License 4 votes vote down vote up
/**
 * Flushes the remaining request header and body, parses the HTTP response
 * headers and starts reading the HTTP response body if it exists.
 */
public final void readResponse() throws IOException {
  if (hasResponse()) {
    responseHeaders.setResponseSource(responseSource);
    return;
  }

  if (responseSource == null) {
    throw new IllegalStateException("readResponse() without sendRequest()");
  }

  if (!responseSource.requiresConnection()) {
    return;
  }

  if (sentRequestMillis == -1) {
    if (requestBodyOut instanceof RetryableOutputStream) {
      int contentLength = ((RetryableOutputStream) requestBodyOut).contentLength();
      requestHeaders.setContentLength(contentLength);
    }
    transport.writeRequestHeaders();
  }

  if (requestBodyOut != null) {
    requestBodyOut.close();
    if (requestBodyOut instanceof RetryableOutputStream) {
      transport.writeRequestBody((RetryableOutputStream) requestBodyOut);
    }
  }

  transport.flushRequest();

  responseHeaders = transport.readResponseHeaders();
  responseHeaders.setLocalTimestamps(sentRequestMillis, System.currentTimeMillis());
  responseHeaders.setResponseSource(responseSource);

  if (responseSource == ResponseSource.CONDITIONAL_CACHE) {
    if (cachedResponseHeaders.validate(responseHeaders)) {
      release(false);
      ResponseHeaders combinedHeaders = cachedResponseHeaders.combine(responseHeaders);
      this.responseHeaders = combinedHeaders;

      // Update the cache after applying the combined headers but before initializing the content
      // stream, otherwise the Content-Encoding header (if present) will be stripped from the
      // combined headers and not end up in the cache file if transparent gzip compression is
      // turned on.
      OkResponseCache responseCache = client.getOkResponseCache();
      responseCache.trackConditionalCacheHit();
      responseCache.update(cacheResponse, policy.getHttpConnectionToCache());

      initContentStream(cachedResponseBody);
      return;
    } else {
      Util.closeQuietly(cachedResponseBody);
    }
  }

  if (hasResponseBody()) {
    maybeCache(); // reentrant. this calls into user code which may call back into this!
  }

  initContentStream(transport.getTransferStream(cacheRequest));
}
 
Example 6
Source File: HttpEngine.java    From reader with MIT License 4 votes vote down vote up
/**
 * Flushes the remaining request header and body, parses the HTTP response
 * headers and starts reading the HTTP response body if it exists.
 */
public final void readResponse() throws IOException {
  if (hasResponse()) {
    responseHeaders.setResponseSource(responseSource);
    return;
  }

  if (responseSource == null) {
    throw new IllegalStateException("readResponse() without sendRequest()");
  }

  if (!responseSource.requiresConnection()) {
    return;
  }

  if (sentRequestMillis == -1) {
    if (requestBodyOut instanceof RetryableOutputStream) {
      int contentLength = ((RetryableOutputStream) requestBodyOut).contentLength();
      requestHeaders.setContentLength(contentLength);
    }
    transport.writeRequestHeaders();
  }

  if (requestBodyOut != null) {
    requestBodyOut.close();
    if (requestBodyOut instanceof RetryableOutputStream) {
      transport.writeRequestBody((RetryableOutputStream) requestBodyOut);
    }
  }

  transport.flushRequest();

  responseHeaders = transport.readResponseHeaders();
  responseHeaders.setLocalTimestamps(sentRequestMillis, System.currentTimeMillis());
  responseHeaders.setResponseSource(responseSource);

  if (responseSource == ResponseSource.CONDITIONAL_CACHE) {
    if (cachedResponseHeaders.validate(responseHeaders)) {
      release(false);
      ResponseHeaders combinedHeaders = cachedResponseHeaders.combine(responseHeaders);
      this.responseHeaders = combinedHeaders;

      // Update the cache after applying the combined headers but before initializing the content
      // stream, otherwise the Content-Encoding header (if present) will be stripped from the
      // combined headers and not end up in the cache file if transparent gzip compression is
      // turned on.
      OkResponseCache responseCache = client.getOkResponseCache();
      responseCache.trackConditionalCacheHit();
      responseCache.update(cacheResponse, policy.getHttpConnectionToCache());

      initContentStream(cachedResponseBody);
      return;
    } else {
      Util.closeQuietly(cachedResponseBody);
    }
  }

  if (hasResponseBody()) {
    maybeCache(); // reentrant. this calls into user code which may call back into this!
  }

  initContentStream(transport.getTransferStream(cacheRequest));
}
 
Example 7
Source File: HttpEngine.java    From cordova-amazon-fireos with Apache License 2.0 4 votes vote down vote up
/**
 * Flushes the remaining request header and body, parses the HTTP response
 * headers and starts reading the HTTP response body if it exists.
 */
public final void readResponse() throws IOException {
  if (hasResponse()) {
    responseHeaders.setResponseSource(responseSource);
    return;
  }

  if (responseSource == null) {
    throw new IllegalStateException("readResponse() without sendRequest()");
  }

  if (!responseSource.requiresConnection()) {
    return;
  }

  if (sentRequestMillis == -1) {
    if (requestBodyOut instanceof RetryableOutputStream) {
      int contentLength = ((RetryableOutputStream) requestBodyOut).contentLength();
      requestHeaders.setContentLength(contentLength);
    }
    transport.writeRequestHeaders();
  }

  if (requestBodyOut != null) {
    requestBodyOut.close();
    if (requestBodyOut instanceof RetryableOutputStream) {
      transport.writeRequestBody((RetryableOutputStream) requestBodyOut);
    }
  }

  transport.flushRequest();

  responseHeaders = transport.readResponseHeaders();
  responseHeaders.setLocalTimestamps(sentRequestMillis, System.currentTimeMillis());
  responseHeaders.setResponseSource(responseSource);

  if (responseSource == ResponseSource.CONDITIONAL_CACHE) {
    if (cachedResponseHeaders.validate(responseHeaders)) {
      release(false);
      ResponseHeaders combinedHeaders = cachedResponseHeaders.combine(responseHeaders);
      this.responseHeaders = combinedHeaders;

      // Update the cache after applying the combined headers but before initializing the content
      // stream, otherwise the Content-Encoding header (if present) will be stripped from the
      // combined headers and not end up in the cache file if transparent gzip compression is
      // turned on.
      OkResponseCache responseCache = client.getOkResponseCache();
      responseCache.trackConditionalCacheHit();
      responseCache.update(cacheResponse, policy.getHttpConnectionToCache());

      initContentStream(cachedResponseBody);
      return;
    } else {
      Util.closeQuietly(cachedResponseBody);
    }
  }

  if (hasResponseBody()) {
    maybeCache(); // reentrant. this calls into user code which may call back into this!
  }

  initContentStream(transport.getTransferStream(cacheRequest));
}
 
Example 8
Source File: HttpEngine.java    From phonegapbootcampsite with MIT License 4 votes vote down vote up
/**
 * Flushes the remaining request header and body, parses the HTTP response
 * headers and starts reading the HTTP response body if it exists.
 */
public final void readResponse() throws IOException {
  if (hasResponse()) {
    responseHeaders.setResponseSource(responseSource);
    return;
  }

  if (responseSource == null) {
    throw new IllegalStateException("readResponse() without sendRequest()");
  }

  if (!responseSource.requiresConnection()) {
    return;
  }

  if (sentRequestMillis == -1) {
    if (requestBodyOut instanceof RetryableOutputStream) {
      int contentLength = ((RetryableOutputStream) requestBodyOut).contentLength();
      requestHeaders.setContentLength(contentLength);
    }
    transport.writeRequestHeaders();
  }

  if (requestBodyOut != null) {
    requestBodyOut.close();
    if (requestBodyOut instanceof RetryableOutputStream) {
      transport.writeRequestBody((RetryableOutputStream) requestBodyOut);
    }
  }

  transport.flushRequest();

  responseHeaders = transport.readResponseHeaders();
  responseHeaders.setLocalTimestamps(sentRequestMillis, System.currentTimeMillis());
  responseHeaders.setResponseSource(responseSource);

  if (responseSource == ResponseSource.CONDITIONAL_CACHE) {
    if (cachedResponseHeaders.validate(responseHeaders)) {
      release(false);
      ResponseHeaders combinedHeaders = cachedResponseHeaders.combine(responseHeaders);
      this.responseHeaders = combinedHeaders;

      // Update the cache after applying the combined headers but before initializing the content
      // stream, otherwise the Content-Encoding header (if present) will be stripped from the
      // combined headers and not end up in the cache file if transparent gzip compression is
      // turned on.
      OkResponseCache responseCache = client.getOkResponseCache();
      responseCache.trackConditionalCacheHit();
      responseCache.update(cacheResponse, policy.getHttpConnectionToCache());

      initContentStream(cachedResponseBody);
      return;
    } else {
      Util.closeQuietly(cachedResponseBody);
    }
  }

  if (hasResponseBody()) {
    maybeCache(); // reentrant. this calls into user code which may call back into this!
  }

  initContentStream(transport.getTransferStream(cacheRequest));
}
 
Example 9
Source File: HttpEngine.java    From CordovaYoutubeVideoPlayer with MIT License 4 votes vote down vote up
/**
 * Flushes the remaining request header and body, parses the HTTP response
 * headers and starts reading the HTTP response body if it exists.
 */
public final void readResponse() throws IOException {
  if (hasResponse()) {
    responseHeaders.setResponseSource(responseSource);
    return;
  }

  if (responseSource == null) {
    throw new IllegalStateException("readResponse() without sendRequest()");
  }

  if (!responseSource.requiresConnection()) {
    return;
  }

  if (sentRequestMillis == -1) {
    if (requestBodyOut instanceof RetryableOutputStream) {
      int contentLength = ((RetryableOutputStream) requestBodyOut).contentLength();
      requestHeaders.setContentLength(contentLength);
    }
    transport.writeRequestHeaders();
  }

  if (requestBodyOut != null) {
    requestBodyOut.close();
    if (requestBodyOut instanceof RetryableOutputStream) {
      transport.writeRequestBody((RetryableOutputStream) requestBodyOut);
    }
  }

  transport.flushRequest();

  responseHeaders = transport.readResponseHeaders();
  responseHeaders.setLocalTimestamps(sentRequestMillis, System.currentTimeMillis());
  responseHeaders.setResponseSource(responseSource);

  if (responseSource == ResponseSource.CONDITIONAL_CACHE) {
    if (cachedResponseHeaders.validate(responseHeaders)) {
      release(false);
      ResponseHeaders combinedHeaders = cachedResponseHeaders.combine(responseHeaders);
      this.responseHeaders = combinedHeaders;

      // Update the cache after applying the combined headers but before initializing the content
      // stream, otherwise the Content-Encoding header (if present) will be stripped from the
      // combined headers and not end up in the cache file if transparent gzip compression is
      // turned on.
      OkResponseCache responseCache = client.getOkResponseCache();
      responseCache.trackConditionalCacheHit();
      responseCache.update(cacheResponse, policy.getHttpConnectionToCache());

      initContentStream(cachedResponseBody);
      return;
    } else {
      Util.closeQuietly(cachedResponseBody);
    }
  }

  if (hasResponseBody()) {
    maybeCache(); // reentrant. this calls into user code which may call back into this!
  }

  initContentStream(transport.getTransferStream(cacheRequest));
}
 
Example 10
Source File: HttpEngine.java    From wildfly-samples with MIT License 4 votes vote down vote up
/**
 * Flushes the remaining request header and body, parses the HTTP response
 * headers and starts reading the HTTP response body if it exists.
 */
public final void readResponse() throws IOException {
  if (hasResponse()) {
    responseHeaders.setResponseSource(responseSource);
    return;
  }

  if (responseSource == null) {
    throw new IllegalStateException("readResponse() without sendRequest()");
  }

  if (!responseSource.requiresConnection()) {
    return;
  }

  if (sentRequestMillis == -1) {
    if (requestBodyOut instanceof RetryableOutputStream) {
      int contentLength = ((RetryableOutputStream) requestBodyOut).contentLength();
      requestHeaders.setContentLength(contentLength);
    }
    transport.writeRequestHeaders();
  }

  if (requestBodyOut != null) {
    requestBodyOut.close();
    if (requestBodyOut instanceof RetryableOutputStream) {
      transport.writeRequestBody((RetryableOutputStream) requestBodyOut);
    }
  }

  transport.flushRequest();

  responseHeaders = transport.readResponseHeaders();
  responseHeaders.setLocalTimestamps(sentRequestMillis, System.currentTimeMillis());
  responseHeaders.setResponseSource(responseSource);

  if (responseSource == ResponseSource.CONDITIONAL_CACHE) {
    if (cachedResponseHeaders.validate(responseHeaders)) {
      release(false);
      ResponseHeaders combinedHeaders = cachedResponseHeaders.combine(responseHeaders);
      this.responseHeaders = combinedHeaders;

      // Update the cache after applying the combined headers but before initializing the content
      // stream, otherwise the Content-Encoding header (if present) will be stripped from the
      // combined headers and not end up in the cache file if transparent gzip compression is
      // turned on.
      OkResponseCache responseCache = client.getOkResponseCache();
      responseCache.trackConditionalCacheHit();
      responseCache.update(cacheResponse, policy.getHttpConnectionToCache());

      initContentStream(cachedResponseBody);
      return;
    } else {
      Util.closeQuietly(cachedResponseBody);
    }
  }

  if (hasResponseBody()) {
    maybeCache(); // reentrant. this calls into user code which may call back into this!
  }

  initContentStream(transport.getTransferStream(cacheRequest));
}
 
Example 11
Source File: HttpEngine.java    From crosswalk-cordova-android with Apache License 2.0 4 votes vote down vote up
/**
 * Flushes the remaining request header and body, parses the HTTP response
 * headers and starts reading the HTTP response body if it exists.
 */
public final void readResponse() throws IOException {
  if (hasResponse()) {
    responseHeaders.setResponseSource(responseSource);
    return;
  }

  if (responseSource == null) {
    throw new IllegalStateException("readResponse() without sendRequest()");
  }

  if (!responseSource.requiresConnection()) {
    return;
  }

  if (sentRequestMillis == -1) {
    if (requestBodyOut instanceof RetryableOutputStream) {
      int contentLength = ((RetryableOutputStream) requestBodyOut).contentLength();
      requestHeaders.setContentLength(contentLength);
    }
    transport.writeRequestHeaders();
  }

  if (requestBodyOut != null) {
    requestBodyOut.close();
    if (requestBodyOut instanceof RetryableOutputStream) {
      transport.writeRequestBody((RetryableOutputStream) requestBodyOut);
    }
  }

  transport.flushRequest();

  responseHeaders = transport.readResponseHeaders();
  responseHeaders.setLocalTimestamps(sentRequestMillis, System.currentTimeMillis());
  responseHeaders.setResponseSource(responseSource);

  if (responseSource == ResponseSource.CONDITIONAL_CACHE) {
    if (cachedResponseHeaders.validate(responseHeaders)) {
      release(false);
      ResponseHeaders combinedHeaders = cachedResponseHeaders.combine(responseHeaders);
      this.responseHeaders = combinedHeaders;

      // Update the cache after applying the combined headers but before initializing the content
      // stream, otherwise the Content-Encoding header (if present) will be stripped from the
      // combined headers and not end up in the cache file if transparent gzip compression is
      // turned on.
      OkResponseCache responseCache = client.getOkResponseCache();
      responseCache.trackConditionalCacheHit();
      responseCache.update(cacheResponse, policy.getHttpConnectionToCache());

      initContentStream(cachedResponseBody);
      return;
    } else {
      Util.closeQuietly(cachedResponseBody);
    }
  }

  if (hasResponseBody()) {
    maybeCache(); // reentrant. this calls into user code which may call back into this!
  }

  initContentStream(transport.getTransferStream(cacheRequest));
}