44
55use Http \Message \MessageFactory ;
66use Http \Message \StreamFactory \DiactorosStreamFactory ;
7- use Zend \Diactoros \Request ;
8- use Zend \Diactoros \Response ;
7+ use Laminas \Diactoros \Request as LaminasRequest ;
8+ use Laminas \Diactoros \Response as LaminasResponse ;
9+ use Zend \Diactoros \Request as ZendRequest ;
10+ use Zend \Diactoros \Response as ZendResponse ;
911
1012/**
1113 * Creates Diactoros messages.
@@ -36,7 +38,16 @@ public function createRequest(
3638 $ body = null ,
3739 $ protocolVersion = '1.1 '
3840 ) {
39- return (new Request (
41+ if (class_exists (LaminasRequest::class)) {
42+ return (new LaminasRequest (
43+ $ uri ,
44+ $ method ,
45+ $ this ->streamFactory ->createStream ($ body ),
46+ $ headers
47+ ))->withProtocolVersion ($ protocolVersion );
48+ }
49+
50+ return (new ZendRequest (
4051 $ uri ,
4152 $ method ,
4253 $ this ->streamFactory ->createStream ($ body ),
@@ -54,7 +65,15 @@ public function createResponse(
5465 $ body = null ,
5566 $ protocolVersion = '1.1 '
5667 ) {
57- return (new Response (
68+ if (class_exists (LaminasResponse::class)) {
69+ return (new LaminasResponse (
70+ $ this ->streamFactory ->createStream ($ body ),
71+ $ statusCode ,
72+ $ headers
73+ ))->withProtocolVersion ($ protocolVersion );
74+ }
75+
76+ return (new ZendResponse (
5877 $ this ->streamFactory ->createStream ($ body ),
5978 $ statusCode ,
6079 $ headers
0 commit comments