update2
This commit is contained in:
parent
98419bd18d
commit
8a69e45efa
4919 changed files with 28311 additions and 224136 deletions
4
pfosten/vendor/symfony/http-kernel/HttpCache/AbstractSurrogate.php
vendored
Executable file → Normal file
4
pfosten/vendor/symfony/http-kernel/HttpCache/AbstractSurrogate.php
vendored
Executable file → Normal file
|
|
@ -30,8 +30,6 @@ abstract class AbstractSurrogate implements SurrogateInterface
|
|||
);
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param array $contentTypes An array of content-type that should be parsed for Surrogate information
|
||||
* (default: text/html, text/xml, application/xhtml+xml, and application/xml)
|
||||
*/
|
||||
|
|
@ -115,8 +113,6 @@ abstract class AbstractSurrogate implements SurrogateInterface
|
|||
|
||||
/**
|
||||
* Remove the Surrogate from the Surrogate-Control header.
|
||||
*
|
||||
* @param Response $response
|
||||
*/
|
||||
protected function removeFromControl(Response $response)
|
||||
{
|
||||
|
|
|
|||
2
pfosten/vendor/symfony/http-kernel/HttpCache/Esi.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/http-kernel/HttpCache/Esi.php
vendored
Executable file → Normal file
|
|
@ -71,7 +71,7 @@ class Esi extends AbstractSurrogate
|
|||
}
|
||||
|
||||
$parts = explode(';', $type);
|
||||
if (!in_array($parts[0], $this->contentTypes)) {
|
||||
if (!\in_array($parts[0], $this->contentTypes)) {
|
||||
return $response;
|
||||
}
|
||||
|
||||
|
|
|
|||
86
pfosten/vendor/symfony/http-kernel/HttpCache/HttpCache.php
vendored
Executable file → Normal file
86
pfosten/vendor/symfony/http-kernel/HttpCache/HttpCache.php
vendored
Executable file → Normal file
|
|
@ -15,10 +15,10 @@
|
|||
|
||||
namespace Symfony\Component\HttpKernel\HttpCache;
|
||||
|
||||
use Symfony\Component\HttpKernel\HttpKernelInterface;
|
||||
use Symfony\Component\HttpKernel\TerminableInterface;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\HttpKernel\HttpKernelInterface;
|
||||
use Symfony\Component\HttpKernel\TerminableInterface;
|
||||
|
||||
/**
|
||||
* Cache provides HTTP caching.
|
||||
|
|
@ -69,11 +69,6 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
|
|||
* the cache can serve a stale response when an error is encountered (default: 60).
|
||||
* This setting is overridden by the stale-if-error HTTP Cache-Control extension
|
||||
* (see RFC 5861).
|
||||
*
|
||||
* @param HttpKernelInterface $kernel An HttpKernelInterface instance
|
||||
* @param StoreInterface $store A Store instance
|
||||
* @param SurrogateInterface $surrogate A SurrogateInterface instance
|
||||
* @param array $options An array of options
|
||||
*/
|
||||
public function __construct(HttpKernelInterface $kernel, StoreInterface $store, SurrogateInterface $surrogate = null, array $options = array())
|
||||
{
|
||||
|
|
@ -170,7 +165,11 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
|
|||
// FIXME: catch exceptions and implement a 500 error page here? -> in Varnish, there is a built-in error page mechanism
|
||||
if (HttpKernelInterface::MASTER_REQUEST === $type) {
|
||||
$this->traces = array();
|
||||
$this->request = $request;
|
||||
// Keep a clone of the original request for surrogates so they can access it.
|
||||
// We must clone here to get a separate instance because the application will modify the request during
|
||||
// the application flow (we know it always does because we do ourselves by setting REMOTE_ADDR to 127.0.0.1
|
||||
// and adding the X-Forwarded-For header, see HttpCache::forward()).
|
||||
$this->request = clone $request;
|
||||
if (null !== $this->surrogate) {
|
||||
$this->surrogateCacheStrategy = $this->surrogate->createCacheStrategy();
|
||||
}
|
||||
|
|
@ -292,7 +291,7 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
|
|||
* it triggers "miss" processing.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
* @param bool $catch whether to process exceptions
|
||||
* @param bool $catch Whether to process exceptions
|
||||
*
|
||||
* @return Response A Response instance
|
||||
*
|
||||
|
|
@ -371,7 +370,7 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
|
|||
|
||||
// return the response and not the cache entry if the response is valid but not cached
|
||||
$etag = $response->getEtag();
|
||||
if ($etag && in_array($etag, $requestEtags) && !in_array($etag, $cachedEtags)) {
|
||||
if ($etag && \in_array($etag, $requestEtags) && !\in_array($etag, $cachedEtags)) {
|
||||
return $response;
|
||||
}
|
||||
|
||||
|
|
@ -401,7 +400,7 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
|
|||
* stores it in the cache if is cacheable.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
* @param bool $catch whether to process exceptions
|
||||
* @param bool $catch Whether to process exceptions
|
||||
*
|
||||
* @return Response A Response instance
|
||||
*/
|
||||
|
|
@ -445,30 +444,11 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
|
|||
$this->surrogate->addSurrogateCapability($request);
|
||||
}
|
||||
|
||||
// modify the X-Forwarded-For header if needed
|
||||
$forwardedFor = $request->headers->get('X-Forwarded-For');
|
||||
if ($forwardedFor) {
|
||||
$request->headers->set('X-Forwarded-For', $forwardedFor.', '.$request->server->get('REMOTE_ADDR'));
|
||||
} else {
|
||||
$request->headers->set('X-Forwarded-For', $request->server->get('REMOTE_ADDR'));
|
||||
}
|
||||
|
||||
// fix the client IP address by setting it to 127.0.0.1 as HttpCache
|
||||
// is always called from the same process as the backend.
|
||||
$request->server->set('REMOTE_ADDR', '127.0.0.1');
|
||||
|
||||
// make sure HttpCache is a trusted proxy
|
||||
if (!in_array('127.0.0.1', $trustedProxies = Request::getTrustedProxies())) {
|
||||
$trustedProxies[] = '127.0.0.1';
|
||||
Request::setTrustedProxies($trustedProxies, Request::HEADER_X_FORWARDED_ALL);
|
||||
}
|
||||
|
||||
// always a "master" request (as the real master request can be in cache)
|
||||
$response = $this->kernel->handle($request, HttpKernelInterface::MASTER_REQUEST, $catch);
|
||||
// FIXME: we probably need to also catch exceptions if raw === true
|
||||
$response = SubRequestHandler::handle($this->kernel, $request, HttpKernelInterface::MASTER_REQUEST, $catch);
|
||||
|
||||
// we don't implement the stale-if-error on Requests, which is nonetheless part of the RFC
|
||||
if (null !== $entry && in_array($response->getStatusCode(), array(500, 502, 503, 504))) {
|
||||
if (null !== $entry && \in_array($response->getStatusCode(), array(500, 502, 503, 504))) {
|
||||
if (null === $age = $entry->headers->getCacheControlDirective('stale-if-error')) {
|
||||
$age = $this->options['stale_if_error'];
|
||||
}
|
||||
|
|
@ -505,9 +485,6 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
|
|||
/**
|
||||
* Checks whether the cache entry is "fresh enough" to satisfy the Request.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
* @param Response $entry A Response instance
|
||||
*
|
||||
* @return bool true if the cache entry if fresh enough, false otherwise
|
||||
*/
|
||||
protected function isFreshEnough(Request $request, Response $entry)
|
||||
|
|
@ -526,9 +503,6 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
|
|||
/**
|
||||
* Locks a Request during the call to the backend.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
* @param Response $entry A Response instance
|
||||
*
|
||||
* @return bool true if the cache entry can be returned even if it is staled, false otherwise
|
||||
*/
|
||||
protected function lock(Request $request, Response $entry)
|
||||
|
|
@ -574,9 +548,6 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
|
|||
/**
|
||||
* Writes the Response to the cache.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
* @param Response $response A Response instance
|
||||
*
|
||||
* @throws \Exception
|
||||
*/
|
||||
protected function store(Request $request, Response $response)
|
||||
|
|
@ -601,20 +572,9 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
|
|||
|
||||
/**
|
||||
* Restores the Response body.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
* @param Response $response A Response instance
|
||||
*/
|
||||
private function restoreResponseBody(Request $request, Response $response)
|
||||
{
|
||||
if ($request->isMethod('HEAD') || 304 === $response->getStatusCode()) {
|
||||
$response->setContent(null);
|
||||
$response->headers->remove('X-Body-Eval');
|
||||
$response->headers->remove('X-Body-File');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if ($response->headers->has('X-Body-Eval')) {
|
||||
ob_start();
|
||||
|
||||
|
|
@ -627,10 +587,14 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
|
|||
$response->setContent(ob_get_clean());
|
||||
$response->headers->remove('X-Body-Eval');
|
||||
if (!$response->headers->has('Transfer-Encoding')) {
|
||||
$response->headers->set('Content-Length', strlen($response->getContent()));
|
||||
$response->headers->set('Content-Length', \strlen($response->getContent()));
|
||||
}
|
||||
} elseif ($response->headers->has('X-Body-File')) {
|
||||
$response->setContent(file_get_contents($response->headers->get('X-Body-File')));
|
||||
// Response does not include possibly dynamic content (ESI, SSI), so we need
|
||||
// not handle the content for HEAD requests
|
||||
if (!$request->isMethod('HEAD')) {
|
||||
$response->setContent(file_get_contents($response->headers->get('X-Body-File')));
|
||||
}
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
|
@ -649,8 +613,6 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
|
|||
* Checks if the Request includes authorization or other sensitive information
|
||||
* that should cause the Response to be considered private by default.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
*
|
||||
* @return bool true if the Request is private, false otherwise
|
||||
*/
|
||||
private function isPrivateRequest(Request $request)
|
||||
|
|
@ -659,7 +621,7 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
|
|||
$key = strtolower(str_replace('HTTP_', '', $key));
|
||||
|
||||
if ('cookie' === $key) {
|
||||
if (count($request->cookies->all())) {
|
||||
if (\count($request->cookies->all())) {
|
||||
return true;
|
||||
}
|
||||
} elseif ($request->headers->has($key)) {
|
||||
|
|
@ -704,7 +666,7 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
|
|||
*
|
||||
* @param Response $entry
|
||||
*
|
||||
* @return bool True when the stale response may be served, false otherwise.
|
||||
* @return bool true when the stale response may be served, false otherwise
|
||||
*/
|
||||
private function mayServeStaleWhileRevalidate(Response $entry)
|
||||
{
|
||||
|
|
@ -722,16 +684,16 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
|
|||
*
|
||||
* @param Request $request The request to wait for
|
||||
*
|
||||
* @return bool True if the lock was released before the internal timeout was hit; false if the wait timeout was exceeded.
|
||||
* @return bool true if the lock was released before the internal timeout was hit; false if the wait timeout was exceeded
|
||||
*/
|
||||
private function waitForLock(Request $request)
|
||||
{
|
||||
$wait = 0;
|
||||
while ($this->store->isLocked($request) && $wait < 5000000) {
|
||||
while ($this->store->isLocked($request) && $wait < 100) {
|
||||
usleep(50000);
|
||||
$wait += 50000;
|
||||
++$wait;
|
||||
}
|
||||
|
||||
return $wait < 5000000;
|
||||
return $wait < 100;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
5
pfosten/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php
vendored
Executable file → Normal file
5
pfosten/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php
vendored
Executable file → Normal file
|
|
@ -39,7 +39,7 @@ class ResponseCacheStrategy implements ResponseCacheStrategyInterface
|
|||
*/
|
||||
public function add(Response $response)
|
||||
{
|
||||
if ($response->isValidateable()) {
|
||||
if (!$response->isFresh() || !$response->isCacheable()) {
|
||||
$this->cacheable = false;
|
||||
} else {
|
||||
$maxAge = $response->getMaxAge();
|
||||
|
|
@ -70,6 +70,9 @@ class ResponseCacheStrategy implements ResponseCacheStrategyInterface
|
|||
if ($response->isValidateable()) {
|
||||
$response->setEtag(null);
|
||||
$response->setLastModified(null);
|
||||
}
|
||||
|
||||
if (!$response->isFresh() || !$response->isCacheable()) {
|
||||
$this->cacheable = false;
|
||||
}
|
||||
|
||||
|
|
|
|||
4
pfosten/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategyInterface.php
vendored
Executable file → Normal file
4
pfosten/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategyInterface.php
vendored
Executable file → Normal file
|
|
@ -27,15 +27,11 @@ interface ResponseCacheStrategyInterface
|
|||
{
|
||||
/**
|
||||
* Adds a Response.
|
||||
*
|
||||
* @param Response $response
|
||||
*/
|
||||
public function add(Response $response);
|
||||
|
||||
/**
|
||||
* Updates the Response HTTP headers based on the embedded Responses.
|
||||
*
|
||||
* @param Response $response
|
||||
*/
|
||||
public function update(Response $response);
|
||||
}
|
||||
|
|
|
|||
2
pfosten/vendor/symfony/http-kernel/HttpCache/Ssi.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/http-kernel/HttpCache/Ssi.php
vendored
Executable file → Normal file
|
|
@ -58,7 +58,7 @@ class Ssi extends AbstractSurrogate
|
|||
}
|
||||
|
||||
$parts = explode(';', $type);
|
||||
if (!in_array($parts[0], $this->contentTypes)) {
|
||||
if (!\in_array($parts[0], $this->contentTypes)) {
|
||||
return $response;
|
||||
}
|
||||
|
||||
|
|
|
|||
45
pfosten/vendor/symfony/http-kernel/HttpCache/Store.php
vendored
Executable file → Normal file
45
pfosten/vendor/symfony/http-kernel/HttpCache/Store.php
vendored
Executable file → Normal file
|
|
@ -29,8 +29,6 @@ class Store implements StoreInterface
|
|||
private $locks;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param string $root The path to the cache directory
|
||||
*
|
||||
* @throws \RuntimeException
|
||||
|
|
@ -62,8 +60,6 @@ class Store implements StoreInterface
|
|||
/**
|
||||
* Tries to lock the cache for a given Request, without blocking.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
*
|
||||
* @return bool|string true if the lock is acquired, the path to the current lock otherwise
|
||||
*/
|
||||
public function lock(Request $request)
|
||||
|
|
@ -72,7 +68,7 @@ class Store implements StoreInterface
|
|||
|
||||
if (!isset($this->locks[$key])) {
|
||||
$path = $this->getPath($key);
|
||||
if (!file_exists(dirname($path)) && false === @mkdir(dirname($path), 0777, true) && !is_dir(dirname($path))) {
|
||||
if (!file_exists(\dirname($path)) && false === @mkdir(\dirname($path), 0777, true) && !is_dir(\dirname($path))) {
|
||||
return $path;
|
||||
}
|
||||
$h = fopen($path, 'cb');
|
||||
|
|
@ -91,8 +87,6 @@ class Store implements StoreInterface
|
|||
/**
|
||||
* Releases the lock for the given Request.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
*
|
||||
* @return bool False if the lock file does not exist or cannot be unlocked, true otherwise
|
||||
*/
|
||||
public function unlock(Request $request)
|
||||
|
|
@ -133,8 +127,6 @@ class Store implements StoreInterface
|
|||
/**
|
||||
* Locates a cached Response for the Request provided.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
*
|
||||
* @return Response|null A Response instance, or null if no cache entry was found
|
||||
*/
|
||||
public function lookup(Request $request)
|
||||
|
|
@ -159,7 +151,7 @@ class Store implements StoreInterface
|
|||
return;
|
||||
}
|
||||
|
||||
list($req, $headers) = $match;
|
||||
$headers = $match[1];
|
||||
if (file_exists($body = $this->getPath($headers['x-content-digest'][0]))) {
|
||||
return $this->restoreResponse($headers, $body);
|
||||
}
|
||||
|
|
@ -175,9 +167,6 @@ class Store implements StoreInterface
|
|||
* Existing entries are read and any that match the response are removed. This
|
||||
* method calls write with the new list of cache entries.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
* @param Response $response A Response instance
|
||||
*
|
||||
* @return string The key under which the response is stored
|
||||
*
|
||||
* @throws \RuntimeException
|
||||
|
|
@ -198,7 +187,7 @@ class Store implements StoreInterface
|
|||
$response->headers->set('X-Content-Digest', $digest);
|
||||
|
||||
if (!$response->headers->has('Transfer-Encoding')) {
|
||||
$response->headers->set('Content-Length', strlen($response->getContent()));
|
||||
$response->headers->set('Content-Length', \strlen($response->getContent()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -210,7 +199,7 @@ class Store implements StoreInterface
|
|||
$entry[1]['vary'] = array('');
|
||||
}
|
||||
|
||||
if ($vary != $entry[1]['vary'][0] || !$this->requestsMatch($vary, $entry[0], $storedEnv)) {
|
||||
if ($entry[1]['vary'][0] != $vary || !$this->requestsMatch($vary, $entry[0], $storedEnv)) {
|
||||
$entries[] = $entry;
|
||||
}
|
||||
}
|
||||
|
|
@ -230,8 +219,6 @@ class Store implements StoreInterface
|
|||
/**
|
||||
* Returns content digest for $response.
|
||||
*
|
||||
* @param Response $response
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
protected function generateContentDigest(Response $response)
|
||||
|
|
@ -242,8 +229,6 @@ class Store implements StoreInterface
|
|||
/**
|
||||
* Invalidates all cache entries that match the request.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
*
|
||||
* @throws \RuntimeException
|
||||
*/
|
||||
public function invalidate(Request $request)
|
||||
|
|
@ -390,28 +375,34 @@ class Store implements StoreInterface
|
|||
@ftruncate($fp, 0);
|
||||
@fseek($fp, 0);
|
||||
$len = @fwrite($fp, $data);
|
||||
if (strlen($data) !== $len) {
|
||||
if (\strlen($data) !== $len) {
|
||||
@ftruncate($fp, 0);
|
||||
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (!file_exists(dirname($path)) && false === @mkdir(dirname($path), 0777, true) && !is_dir(dirname($path))) {
|
||||
if (!file_exists(\dirname($path)) && false === @mkdir(\dirname($path), 0777, true) && !is_dir(\dirname($path))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$tmpFile = tempnam(dirname($path), basename($path));
|
||||
$tmpFile = tempnam(\dirname($path), basename($path));
|
||||
if (false === $fp = @fopen($tmpFile, 'wb')) {
|
||||
@unlink($tmpFile);
|
||||
|
||||
return false;
|
||||
}
|
||||
@fwrite($fp, $data);
|
||||
@fclose($fp);
|
||||
|
||||
if ($data != file_get_contents($tmpFile)) {
|
||||
@unlink($tmpFile);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if (false === @rename($tmpFile, $path)) {
|
||||
@unlink($tmpFile);
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -421,7 +412,7 @@ class Store implements StoreInterface
|
|||
|
||||
public function getPath($key)
|
||||
{
|
||||
return $this->root.DIRECTORY_SEPARATOR.substr($key, 0, 2).DIRECTORY_SEPARATOR.substr($key, 2, 2).DIRECTORY_SEPARATOR.substr($key, 4, 2).DIRECTORY_SEPARATOR.substr($key, 6);
|
||||
return $this->root.\DIRECTORY_SEPARATOR.substr($key, 0, 2).\DIRECTORY_SEPARATOR.substr($key, 2, 2).\DIRECTORY_SEPARATOR.substr($key, 4, 2).\DIRECTORY_SEPARATOR.substr($key, 6);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -434,8 +425,6 @@ class Store implements StoreInterface
|
|||
* headers, use a Vary header to indicate them, and each representation will
|
||||
* be stored independently under the same cache key.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
*
|
||||
* @return string A key for the given Request
|
||||
*/
|
||||
protected function generateCacheKey(Request $request)
|
||||
|
|
@ -446,8 +435,6 @@ class Store implements StoreInterface
|
|||
/**
|
||||
* Returns a cache key for the given Request.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
*
|
||||
* @return string A key for the given Request
|
||||
*/
|
||||
private function getCacheKey(Request $request)
|
||||
|
|
@ -462,8 +449,6 @@ class Store implements StoreInterface
|
|||
/**
|
||||
* Persists the Request HTTP headers.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
*
|
||||
* @return array An array of HTTP headers
|
||||
*/
|
||||
private function persistRequest(Request $request)
|
||||
|
|
@ -474,8 +459,6 @@ class Store implements StoreInterface
|
|||
/**
|
||||
* Persists the Response HTTP headers.
|
||||
*
|
||||
* @param Response $response A Response instance
|
||||
*
|
||||
* @return array An array of HTTP headers
|
||||
*/
|
||||
private function persistResponse(Response $response)
|
||||
|
|
|
|||
13
pfosten/vendor/symfony/http-kernel/HttpCache/StoreInterface.php
vendored
Executable file → Normal file
13
pfosten/vendor/symfony/http-kernel/HttpCache/StoreInterface.php
vendored
Executable file → Normal file
|
|
@ -27,8 +27,6 @@ interface StoreInterface
|
|||
/**
|
||||
* Locates a cached Response for the Request provided.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
*
|
||||
* @return Response|null A Response instance, or null if no cache entry was found
|
||||
*/
|
||||
public function lookup(Request $request);
|
||||
|
|
@ -39,25 +37,18 @@ interface StoreInterface
|
|||
* Existing entries are read and any that match the response are removed. This
|
||||
* method calls write with the new list of cache entries.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
* @param Response $response A Response instance
|
||||
*
|
||||
* @return string The key under which the response is stored
|
||||
*/
|
||||
public function write(Request $request, Response $response);
|
||||
|
||||
/**
|
||||
* Invalidates all cache entries that match the request.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
*/
|
||||
public function invalidate(Request $request);
|
||||
|
||||
/**
|
||||
* Locks the cache for a given Request.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
*
|
||||
* @return bool|string true if the lock is acquired, the path to the current lock otherwise
|
||||
*/
|
||||
public function lock(Request $request);
|
||||
|
|
@ -65,8 +56,6 @@ interface StoreInterface
|
|||
/**
|
||||
* Releases the lock for the given Request.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
*
|
||||
* @return bool False if the lock file does not exist or cannot be unlocked, true otherwise
|
||||
*/
|
||||
public function unlock(Request $request);
|
||||
|
|
@ -74,8 +63,6 @@ interface StoreInterface
|
|||
/**
|
||||
* Returns whether or not a lock exists.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
*
|
||||
* @return bool true if lock exists, false otherwise
|
||||
*/
|
||||
public function isLocked(Request $request);
|
||||
|
|
|
|||
11
pfosten/vendor/symfony/http-kernel/HttpCache/SurrogateInterface.php
vendored
Executable file → Normal file
11
pfosten/vendor/symfony/http-kernel/HttpCache/SurrogateInterface.php
vendored
Executable file → Normal file
|
|
@ -33,16 +33,12 @@ interface SurrogateInterface
|
|||
/**
|
||||
* Checks that at least one surrogate has Surrogate capability.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
*
|
||||
* @return bool true if one surrogate has Surrogate capability, false otherwise
|
||||
*/
|
||||
public function hasSurrogateCapability(Request $request);
|
||||
|
||||
/**
|
||||
* Adds Surrogate-capability to the given Request.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
*/
|
||||
public function addSurrogateCapability(Request $request);
|
||||
|
||||
|
|
@ -50,16 +46,12 @@ interface SurrogateInterface
|
|||
* Adds HTTP headers to specify that the Response needs to be parsed for Surrogate.
|
||||
*
|
||||
* This method only adds an Surrogate HTTP header if the Response has some Surrogate tags.
|
||||
*
|
||||
* @param Response $response A Response instance
|
||||
*/
|
||||
public function addSurrogateControl(Response $response);
|
||||
|
||||
/**
|
||||
* Checks that the Response needs to be parsed for Surrogate tags.
|
||||
*
|
||||
* @param Response $response A Response instance
|
||||
*
|
||||
* @return bool true if the Response needs to be parsed, false otherwise
|
||||
*/
|
||||
public function needsParsing(Response $response);
|
||||
|
|
@ -79,9 +71,6 @@ interface SurrogateInterface
|
|||
/**
|
||||
* Replaces a Response Surrogate tags with the included resource content.
|
||||
*
|
||||
* @param Request $request A Request instance
|
||||
* @param Response $response A Response instance
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function process(Request $request, Response $response);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue