|
Server : LiteSpeed System : Linux srv104790275 5.15.0-161-generic #171-Ubuntu SMP Sat Oct 11 08:17:01 UTC 2025 x86_64 User : dewac4139 ( 1077) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /home/sarkas88.com/public_html/wp-content/plugins/amp/src/RemoteRequest/ |
Upload File : |
<?php
/**
* Class CachedResponse.
*
* @package AmpProject\AmpWP
*/
namespace AmpProject\AmpWP\RemoteRequest;
use DateTimeImmutable;
use DateTimeInterface;
/**
* Serializable object that represents a cached response together with its expiry time.
*
* @package AmpProject\AmpWP
* @since 2.0
* @internal
*/
final class CachedResponse {
/**
* Cached body.
*
* @var string
*/
private $body;
/**
* Cached headers.
*
* @var array
*/
private $headers;
/**
* Cached status code.
*
* @var int
*/
private $status_code;
/**
* Expiry time of the cached value.
*
* @var DateTimeInterface
*/
private $expiry;
/**
* Instantiate a CachedResponse object.
*
* @param string $body Cached body.
* @param string[] $headers Associative array of cached headers.
* @param int $status_code Cached status code.
* @param DateTimeInterface $expiry Expiry of the cached value.
*/
public function __construct( $body, $headers, $status_code, DateTimeInterface $expiry ) {
$this->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;
}
}