From bb912ec8839645bff3ba38e8e0175e0d535c6e5c Mon Sep 17 00:00:00 2001 From: Omar Date: Wed, 28 Jun 2023 13:43:23 +0200 Subject: [PATCH 1/2] Require php-http/message-factory This library is needed to send the messages through sparkpost. It was initially required by php-http/message , but since version 1.16.0 it is not required anymore. --- composer.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 1736421..638e001 100644 --- a/composer.json +++ b/composer.json @@ -17,7 +17,8 @@ "php-http/httplug": "^1.0 || ^2.0", "php-http/message": "^1.0", "php-http/client-implementation": "^1.0", - "php-http/discovery": "^1.0" + "php-http/discovery": "^1.0", + "php-http/message-factory": "^1.0" }, "require-dev": { "phpunit/phpunit": "^8.0 || ^9.0", From c24d003e37dc24334976d0b35a4f9e61b83dd5d2 Mon Sep 17 00:00:00 2001 From: Omar Date: Mon, 23 Oct 2023 14:33:20 +0200 Subject: [PATCH 2/2] Issue #212: Compatibility with psr/http-message 2.0 --- lib/SparkPost/SparkPostResponse.php | 32 +++++++++++++++-------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/lib/SparkPost/SparkPostResponse.php b/lib/SparkPost/SparkPostResponse.php index 402a2b2..266ba63 100644 --- a/lib/SparkPost/SparkPostResponse.php +++ b/lib/SparkPost/SparkPostResponse.php @@ -2,6 +2,8 @@ namespace SparkPost; +use GuzzleHttp\Psr7\Stream; +use Psr\Http\Message\MessageInterface; use Psr\Http\Message\ResponseInterface as ResponseInterface; use Psr\Http\Message\StreamInterface as StreamInterface; @@ -43,80 +45,80 @@ public function getRequest() * * @return array $body - the json decoded body from the http response */ - public function getBody() + public function getBody() : StreamInterface { $body = $this->response->getBody(); $body_string = $body->__toString(); $json = json_decode($body_string, true); - return $json; + return new Stream($json); } /** * pass these down to the response given in the constructor. */ - public function getProtocolVersion() + public function getProtocolVersion() : string { return $this->response->getProtocolVersion(); } - public function withProtocolVersion($version) + public function withProtocolVersion($version) : MessageInterface { return $this->response->withProtocolVersion($version); } - public function getHeaders() + public function getHeaders() : array { return $this->response->getHeaders(); } - public function hasHeader($name) + public function hasHeader($name) : bool { return $this->response->hasHeader($name); } - public function getHeader($name) + public function getHeader($name) : array { return $this->response->getHeader($name); } - public function getHeaderLine($name) + public function getHeaderLine($name) : string { return $this->response->getHeaderLine($name); } - public function withHeader($name, $value) + public function withHeader($name, $value) : MessageInterface { return $this->response->withHeader($name, $value); } - public function withAddedHeader($name, $value) + public function withAddedHeader($name, $value) : MessageInterface { return $this->response->withAddedHeader($name, $value); } - public function withoutHeader($name) + public function withoutHeader($name) : MessageInterface { return $this->response->withoutHeader($name); } - public function withBody(StreamInterface $body) + public function withBody(StreamInterface $body) : MessageInterface { return $this->response->withBody($body); } - public function getStatusCode() + public function getStatusCode() : int { return $this->response->getStatusCode(); } - public function withStatus($code, $reasonPhrase = '') + public function withStatus($code, $reasonPhrase = '') : ResponseInterface { return $this->response->withStatus($code, $reasonPhrase); } - public function getReasonPhrase() + public function getReasonPhrase() : string { return $this->response->getReasonPhrase(); }