From 02f60b7a9c2d879cda06e196127fd2e82fff0408 Mon Sep 17 00:00:00 2001 From: Paul-joseph Krogulec Date: Wed, 5 Apr 2023 10:10:30 +0200 Subject: [PATCH] feat: switch DateTime to DateTimeInterface --- src/BaseUrlSigner.php | 7 ++++--- src/UrlSigner.php | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/BaseUrlSigner.php b/src/BaseUrlSigner.php index 58d342f..e4a8948 100644 --- a/src/BaseUrlSigner.php +++ b/src/BaseUrlSigner.php @@ -3,6 +3,7 @@ namespace Spatie\UrlSigner; use DateTime; +use DateTimeInterface; use Spatie\UrlSigner\Exceptions\InvalidExpiration; use Spatie\UrlSigner\Exceptions\InvalidSignatureKey; use Spatie\UrlSigner\Support\Url; @@ -27,7 +28,7 @@ abstract protected function createSignature( public function sign( string $url, - int|DateTime $expiration, + int|\DateTimeInterface $expiration, string $signatureKey = null, ): string { $signatureKey ??= $this->defaultSignatureKey; @@ -95,13 +96,13 @@ protected function getIntendedUrl(string $url): string ]); } - protected function getExpirationTimestamp(DateTime|int $expirationInSeconds): string + protected function getExpirationTimestamp(\DateTimeInterface|int $expirationInSeconds): string { if (is_int($expirationInSeconds)) { $expirationInSeconds = (new DateTime())->modify($expirationInSeconds.' seconds'); } - if (! $expirationInSeconds instanceof DateTime) { + if (! $expirationInSeconds instanceof DateTimeInterface) { throw InvalidExpiration::wrongType(); } diff --git a/src/UrlSigner.php b/src/UrlSigner.php index 3f36b39..93cfd30 100644 --- a/src/UrlSigner.php +++ b/src/UrlSigner.php @@ -2,13 +2,13 @@ namespace Spatie\UrlSigner; -use DateTime; +use DateTimeInterface; interface UrlSigner { public function sign( string $url, - int|DateTime $expiration, + int|\DateTimeInterface $expiration, string $signatureKey = null ): string;