Open Journal Systems  3.3.0
DefaultCanCacheStrategy.php
1 <?php
2 
3 namespace Guzzle\Plugin\Cache;
4 
7 
12 {
13  public function canCacheRequest(RequestInterface $request)
14  {
15  // Only GET and HEAD requests can be cached
16  if ($request->getMethod() != RequestInterface::GET && $request->getMethod() != RequestInterface::HEAD) {
17  return false;
18  }
19 
20  // Never cache requests when using no-store
21  if ($request->hasHeader('Cache-Control') && $request->getHeader('Cache-Control')->hasDirective('no-store')) {
22  return false;
23  }
24 
25  return true;
26  }
27 
28  public function canCacheResponse(Response $response)
29  {
30  return $response->isSuccessful() && $response->canCache();
31  }
32 }
Guzzle\Http\Message\RequestInterface
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestInterface.php:16
Guzzle\Plugin\Cache
Definition: CacheKeyProviderInterface.php:3
Guzzle\Plugin\Cache\DefaultCanCacheStrategy\canCacheResponse
canCacheResponse(Response $response)
Definition: DefaultCanCacheStrategy.php:28
Guzzle\Plugin\Cache\DefaultCanCacheStrategy
Definition: DefaultCanCacheStrategy.php:11
Guzzle\Http\Message\Response
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Http/Message/Response.php:17
Guzzle\Http\Message\RequestInterface\GET
const GET
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestInterface.php:23
Guzzle\Plugin\Cache\DefaultCanCacheStrategy\canCacheRequest
canCacheRequest(RequestInterface $request)
Definition: DefaultCanCacheStrategy.php:13
Guzzle\Plugin\Cache\CanCacheStrategyInterface
Definition: CanCacheStrategyInterface.php:11
Guzzle\Http\Message\RequestInterface\getMethod
getMethod()
Guzzle\Http\Message\MessageInterface\getHeader
getHeader($header)
Guzzle\Http\Message\MessageInterface\hasHeader
hasHeader($header)
Guzzle\Http\Message\RequestInterface\HEAD
const HEAD
Definition: lib/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestInterface.php:27