| Server IP : 217.11.249.137 / Your IP : 216.73.216.54 Web Server : Apache System : FreeBSD triton.blueboard.cz 13.5-STABLE FreeBSD 13.5-STABLE stable/13-a3d32f9e6 GENERIC amd64 User : www ( 80) PHP Version : 8.0.30 Disable Function : ini_restore, show_source, socket_select, socket_create_listen, socket_create_pair, socket_listen, socket_strerror, shell_exec, proc_nice, proc_terminate, readlink, symlink, link, pfsocketopen, ini_alter, dl, pcntl_exec, pcntl_fork, pcntl_signal, pcntl_waitpid, pcntl_wexitstatus, pcntl_wifexited, pcntl_wifsignaled, pcntl_wifsignaled, pcntl_wifstoped, pcntl_wifstopsig, pcntl_wtermsig, socket_accept, socket_bind, socket_create, socket_create_listen, popen, zlib_decode MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /data/www/24781/extramagazin_cz/www/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;
}
}