Skip to content

Commit

Permalink
Issue SparkPost#212: Compatibility with psr/http-message 2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
omarlopesino committed Oct 23, 2023
1 parent bb912ec commit c24d003
Showing 1 changed file with 17 additions and 15 deletions.
32 changes: 17 additions & 15 deletions lib/SparkPost/SparkPostResponse.php
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -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();
}
Expand Down

0 comments on commit c24d003

Please sign in to comment.