diff options
Diffstat (limited to 'inc/mailgun/php-http/message/src/MessageFactory/SlimMessageFactory.php')
| -rw-r--r-- | inc/mailgun/php-http/message/src/MessageFactory/SlimMessageFactory.php | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/inc/mailgun/php-http/message/src/MessageFactory/SlimMessageFactory.php b/inc/mailgun/php-http/message/src/MessageFactory/SlimMessageFactory.php new file mode 100644 index 0000000..cdad2ec --- /dev/null +++ b/inc/mailgun/php-http/message/src/MessageFactory/SlimMessageFactory.php @@ -0,0 +1,72 @@ +<?php + +namespace Http\Message\MessageFactory; + +use Http\Message\StreamFactory\SlimStreamFactory; +use Http\Message\UriFactory\SlimUriFactory; +use Http\Message\MessageFactory; +use Slim\Http\Request; +use Slim\Http\Response; +use Slim\Http\Headers; + +/** + * Creates Slim 3 messages. + * + * @author Mika Tuupola <tuupola@appelsiini.net> + */ +final class SlimMessageFactory implements MessageFactory +{ + /** + * @var SlimStreamFactory + */ + private $streamFactory; + + /** + * @var SlimUriFactory + */ + private $uriFactory; + + public function __construct() + { + $this->streamFactory = new SlimStreamFactory(); + $this->uriFactory = new SlimUriFactory(); + } + + /** + * {@inheritdoc} + */ + public function createRequest( + $method, + $uri, + array $headers = [], + $body = null, + $protocolVersion = '1.1' + ) { + return (new Request( + $method, + $this->uriFactory->createUri($uri), + new Headers($headers), + [], + [], + $this->streamFactory->createStream($body), + [] + ))->withProtocolVersion($protocolVersion); + } + + /** + * {@inheritdoc} + */ + public function createResponse( + $statusCode = 200, + $reasonPhrase = null, + array $headers = [], + $body = null, + $protocolVersion = '1.1' + ) { + return (new Response( + $statusCode, + new Headers($headers), + $this->streamFactory->createStream($body) + ))->withProtocolVersion($protocolVersion); + } +} |
