body = (string) $body; $this->headers = (array) $headers; $this->status_code = (int) $status_code; $this->expiry = $expiry; } /** * Get the cached body. * * @return string Cached body. */ public function get_body() { return $this->body; } /** * Get the cached headers. * * @return string[] Cached headers. */ public function get_headers() { return $this->headers; } /** * Get the cached status code. * * @return int Cached status code. */ public function get_status_code() { return $this->status_code; } /** * Determine the validity of the cached response. * * @return bool Whether the cached response is valid. */ public function is_valid() { // Values are already typed, so we just control the status code for validity. return $this->status_code > 100 && $this->status_code <= 599; } /** * Get the expiry of the cached value. * * @return DateTimeInterface Expiry of the cached value. */ public function get_expiry() { return $this->expiry; } /** * Check whether the cached value is expired. * * @return bool Whether the cached value is expired. */ public function is_expired() { return new DateTimeImmutable( 'now' ) > $this->expiry; } }