diff --git a/composer.json b/composer.json index 199fd9f7..7a01a5e8 100644 --- a/composer.json +++ b/composer.json @@ -165,6 +165,9 @@ "mpdf/psr-log-aware-trait": [ "patches/mpdf-psr-log-aware-trait-void-return.patch", "patches/mpdf-mpdf-psr-log-aware-trait-void-return.patch" + ], + "mpdf/psr-http-message-shim": [ + "patches/mpdf-psr-http-message-shim-php8-compat.patch" ] }, "installer-paths": { diff --git a/patches/mpdf-psr-http-message-shim-php8-compat.patch b/patches/mpdf-psr-http-message-shim-php8-compat.patch new file mode 100644 index 00000000..02774511 --- /dev/null +++ b/patches/mpdf-psr-http-message-shim-php8-compat.patch @@ -0,0 +1,137 @@ +--- a/vendor/mpdf/psr-http-message-shim/src/Request.php ++++ b/vendor/mpdf/psr-http-message-shim/src/Request.php +@@ -66,7 +66,7 @@ class Request implements \Psr\Http\Message\RequestInterface + } + } + +- public function getRequestTarget() ++ public function getRequestTarget(): string + { + if ($this->requestTarget !== null) { + return $this->requestTarget; +@@ -83,7 +83,7 @@ class Request implements \Psr\Http\Message\RequestInterface + return $target; + } + +- public function withRequestTarget($requestTarget) ++ public function withRequestTarget(string $requestTarget): \Psr\Http\Message\RequestInterface + { + if (preg_match('#\s#', $requestTarget)) { + throw new \InvalidArgumentException('Invalid request target provided; cannot contain whitespace'); +@@ -95,11 +95,11 @@ class Request implements \Psr\Http\Message\RequestInterface + return $new; + } + +- public function getMethod() ++ public function getMethod(): string + { + return $this->method; + } + +- public function withMethod($method) ++ public function withMethod(string $method): \Psr\Http\Message\RequestInterface + { + $new = clone $this; + $new->method = $method; +@@ -107,11 +107,11 @@ class Request implements \Psr\Http\Message\RequestInterface + return $new; + } + +- public function getUri() ++ public function getUri(): \Psr\Http\Message\UriInterface + { + return $this->uri; + } + +- public function withUri(UriInterface $uri, $preserveHost = false) ++ public function withUri(\Psr\Http\Message\UriInterface $uri, bool $preserveHost = false): \Psr\Http\Message\RequestInterface + { + if ($uri === $this->uri) { + return $this; +@@ -152,11 +152,11 @@ class Request implements \Psr\Http\Message\RequestInterface + $this->headers = [$header => [$host]] + $this->headers; + } + +- public function getProtocolVersion() ++ public function getProtocolVersion(): string + { + return $this->protocol; + } + +- public function withProtocolVersion($version) ++ public function withProtocolVersion(string $version): \Psr\Http\Message\MessageInterface + { + if ($this->protocol === $version) { + return $this; +@@ -168,15 +168,15 @@ class Request implements \Psr\Http\Message\RequestInterface + return $new; + } + +- public function getHeaders() ++ public function getHeaders(): array + { + return $this->headers; + } + +- public function hasHeader($header) ++ public function hasHeader(string $header): bool + { + return isset($this->headerNames[strtolower($header)]); + } + +- public function getHeader($header) ++ public function getHeader(string $header): array + { + $header = strtolower($header); + +@@ -192,11 +192,11 @@ class Request implements \Psr\Http\Message\RequestInterface + return $this->headers[$header]; + } + +- public function getHeaderLine($header) ++ public function getHeaderLine(string $header): string + { + return implode(', ', $this->getHeader($header)); + } + +- public function withHeader($header, $value) ++ public function withHeader(string $header, $value): \Psr\Http\Message\MessageInterface + { + if (!is_array($value)) { + $value = [$value]; +@@ -216,7 +216,7 @@ class Request implements \Psr\Http\Message\RequestInterface + return $new; + } + +- public function withAddedHeader($header, $value) ++ public function withAddedHeader(string $header, $value): \Psr\Http\Message\MessageInterface + { + if (!is_array($value)) { + $value = [$value]; +@@ -237,7 +237,7 @@ class Request implements \Psr\Http\Message\RequestInterface + return $new; + } + +- public function withoutHeader($header) ++ public function withoutHeader(string $header): \Psr\Http\Message\MessageInterface + { + $normalized = strtolower($header); + +@@ -253,7 +253,7 @@ class Request implements \Psr\Http\Message\RequestInterface + return $new; + } + +- public function getBody() ++ public function getBody(): \Psr\Http\Message\StreamInterface + { + if (!$this->stream) { + $this->stream = Stream::create(''); +@@ -263,7 +263,7 @@ class Request implements \Psr\Http\Message\RequestInterface + return $this->stream; + } + +- public function withBody(StreamInterface $body) ++ public function withBody(\Psr\Http\Message\StreamInterface $body): \Psr\Http\Message\MessageInterface + { + if ($body === $this->stream) { + return $this;