Open Journal Systems  3.3.0
SlimMessageFactory.php
1 <?php
2 
4 
8 use Slim\Http\Request;
9 use Slim\Http\Response;
10 use Slim\Http\Headers;
11 
17 final class SlimMessageFactory implements MessageFactory
18 {
22  private $streamFactory;
23 
27  private $uriFactory;
28 
29  public function __construct()
30  {
31  $this->streamFactory = new SlimStreamFactory();
32  $this->uriFactory = new SlimUriFactory();
33  }
34 
38  public function createRequest(
39  $method,
40  $uri,
41  array $headers = [],
42  $body = null,
43  $protocolVersion = '1.1'
44  ) {
45  return (new Request(
46  $method,
47  $this->uriFactory->createUri($uri),
48  new Headers($headers),
49  [],
50  [],
51  $this->streamFactory->createStream($body),
52  []
53  ))->withProtocolVersion($protocolVersion);
54  }
55 
59  public function createResponse(
60  $statusCode = 200,
61  $reasonPhrase = null,
62  array $headers = [],
63  $body = null,
64  $protocolVersion = '1.1'
65  ) {
66  return (new Response(
67  $statusCode,
68  new Headers($headers),
69  $this->streamFactory->createStream($body)
70  ))->withProtocolVersion($protocolVersion);
71  }
72 }
GuzzleHttp\Psr7\Response
Definition: vendor/guzzlehttp/psr7/src/Response.php:10
Http\Message\MessageFactory\SlimMessageFactory\createRequest
createRequest( $method, $uri, array $headers=[], $body=null, $protocolVersion='1.1')
Definition: SlimMessageFactory.php:44
Http\Message\UriFactory\SlimUriFactory
Definition: SlimUriFactory.php:14
Http\Message\MessageFactory
Definition: MessageFactory.php:10
Http\Message\StreamFactory\SlimStreamFactory
Definition: SlimStreamFactory.php:14
Http\Message\MessageFactory\SlimMessageFactory\__construct
__construct()
Definition: SlimMessageFactory.php:35
Http\Message\MessageFactory
Definition: DiactorosMessageFactory.php:3
GuzzleHttp\Psr7\Request
Definition: vendor/guzzlehttp/psr7/src/Request.php:12
Http\Message\MessageFactory\SlimMessageFactory\createResponse
createResponse( $statusCode=200, $reasonPhrase=null, array $headers=[], $body=null, $protocolVersion='1.1')
Definition: SlimMessageFactory.php:65
Http\Message\MessageFactory\SlimMessageFactory
Definition: SlimMessageFactory.php:17