31 lines
784 B
PHP
31 lines
784 B
PHP
<?php
|
|
// IfModifiedSinceHeader.php
|
|
// Created: 2022-02-14
|
|
// Updated: 2022-02-14
|
|
|
|
namespace Index\Http\Headers;
|
|
|
|
use DateTimeInterface;
|
|
use Index\DateTime;
|
|
use Index\Http\HttpHeader;
|
|
|
|
class IfModifiedSinceHeader {
|
|
private DateTime $dateTime;
|
|
|
|
public function __construct(DateTime $dateTime) {
|
|
$this->dateTime = $dateTime;
|
|
}
|
|
|
|
public function getDateTime(): DateTime {
|
|
return $this->dateTime;
|
|
}
|
|
|
|
public function isLessThanOrEqual(DateTimeInterface $dateTime): bool {
|
|
return $this->dateTime->isLessThanOrEqual($dateTime);
|
|
}
|
|
|
|
public static function parse(HttpHeader $header): IfModifiedSinceHeader {
|
|
return new IfModifiedSinceHeader(DateTime::createFromFormat(\DateTimeInterface::RFC7231, $header->getFirstLine()));
|
|
}
|
|
}
|