Kevinrob\GuzzleCache\CacheEntry::__construct PHP Method

__construct() public method

public __construct ( Psr\Http\Message\RequestInterface $request, Psr\Http\Message\ResponseInterface $response, DateTime $staleAt, DateTime $staleIfErrorTo = null, DateTime $staleWhileRevalidateTo = null )
$request Psr\Http\Message\RequestInterface
$response Psr\Http\Message\ResponseInterface
$staleAt DateTime
$staleIfErrorTo DateTime if null, detected with the headers (RFC 5861)
$staleWhileRevalidateTo DateTime
    public function __construct(RequestInterface $request, ResponseInterface $response, \DateTime $staleAt, \DateTime $staleIfErrorTo = null, \DateTime $staleWhileRevalidateTo = null)
    {
        $this->dateCreated = new \DateTime();
        $this->request = $request;
        $this->response = $response;
        $this->staleAt = $staleAt;
        $values = new KeyValueHttpHeader($response->getHeader('Cache-Control'));
        if ($staleIfErrorTo === null && $values->has('stale-if-error')) {
            $this->staleIfErrorTo = new \DateTime('@' . ($this->staleAt->getTimestamp() + (int) $values->get('stale-if-error')));
        } else {
            $this->staleIfErrorTo = $staleIfErrorTo;
        }
        if ($staleWhileRevalidateTo === null && $values->has('stale-while-revalidate')) {
            $this->staleWhileRevalidateTo = new \DateTime('@' . ($this->staleAt->getTimestamp() + (int) $values->get('stale-while-revalidate')));
        } else {
            $this->staleWhileRevalidateTo = $staleWhileRevalidateTo;
        }
    }