class Store implements StoreInterface

Store implements all the logic for storing cache metadata (Request and Response headers).

Properties

protected $root

Methods

__construct(string $root)

No description

cleanup()

Cleanups storage.

bool|string
lock(Request $request)

Tries to lock the cache for a given Request, without blocking.

bool
unlock(Request $request)

Releases the lock for the given Request.

bool
isLocked(Request $request)

Returns whether or not a lock exists.

Response|null
lookup(Request $request)

Locates a cached Response for the Request provided.

string
write(Request $request, Response $response)

Writes a cache entry to the store for the given Request and Response.

string
generateContentDigest(Response $response)

Returns content digest for $response.

invalidate(Request $request)

Invalidates all cache entries that match the request.

bool
purge(string $url)

Purges data for the given URL.

getPath($key)

No description

string
generateCacheKey(Request $request)

Generates a cache key for the given Request.

Details

__construct(string $root)

Parameters

string $root

Exceptions

RuntimeException

cleanup()

Cleanups storage.

bool|string lock(Request $request)

Tries to lock the cache for a given Request, without blocking.

Parameters

Request $request

Return Value

bool|string true if the lock is acquired, the path to the current lock otherwise

bool unlock(Request $request)

Releases the lock for the given Request.

Parameters

Request $request

Return Value

bool False if the lock file does not exist or cannot be unlocked, true otherwise

bool isLocked(Request $request)

Returns whether or not a lock exists.

Parameters

Request $request

Return Value

bool true if lock exists, false otherwise

Response|null lookup(Request $request)

Locates a cached Response for the Request provided.

Parameters

Request $request

Return Value

Response|null A Response instance, or null if no cache entry was found

string write(Request $request, Response $response)

Writes a cache entry to the store for the given Request and Response.

Existing entries are read and any that match the response are removed. This method calls write with the new list of cache entries.

Parameters

Request $request
Response $response

Return Value

string The key under which the response is stored

Exceptions

RuntimeException

protected string generateContentDigest(Response $response)

Returns content digest for $response.

Parameters

Response $response

Return Value

string

invalidate(Request $request)

Invalidates all cache entries that match the request.

Parameters

Request $request

Exceptions

RuntimeException

bool purge(string $url)

Purges data for the given URL.

This method purges both the HTTP and the HTTPS version of the cache entry.

Parameters

string $url A URL

Return Value

bool true if the URL exists and has been purged, false otherwise

getPath($key)

Parameters

$key

protected string generateCacheKey(Request $request)

Generates a cache key for the given Request.

This method should return a key that must only depend on a normalized version of the request URI.

If the same URI can have more than one representation, based on some headers, use a Vary header to indicate them, and each representation will be stored independently under the same cache key.

Parameters

Request $request

Return Value

string A key for the given Request