1111use Slim \Http \Environment ;
1212use Slim \Http \Headers ;
1313use Slim \Http \Request ;
14- use Slim \Http \RequestBody ;
1514use Slim \Http \Response ;
1615use Slim \Http \Stream ;
1716use Slim \Http \UploadedFile ;
@@ -37,15 +36,9 @@ public function setApp(App $app): void
3736 */
3837 protected function doRequest ($ request ): BrowserKitResponse
3938 {
40- $ slimRequest = $ this ->convertRequest ($ request );
41-
42- $ stream = fopen ('php://temp ' , 'wb+ ' );
43- if ($ stream === false ) {
44- throw new RuntimeException ('Could not open `php://temp` stream. ' );
45- }
46-
39+ $ slimRequest = $ this ->convertRequest ($ request );
4740 $ headers = new Headers (['Content-Type ' => 'text/html; charset=UTF-8 ' ]);
48- $ body = new Stream ( $ stream );
41+ $ body = $ this -> createStream ( );
4942 $ slimResponse = new Response (200 , $ headers , $ body );
5043 $ slimResponse = $ this ->app ->process ($ slimRequest , $ slimResponse );
5144
@@ -77,7 +70,7 @@ private function convertRequest(BrowserKitRequest $request): Request
7770
7871 $ requestContent = $ request ->getContent ();
7972 if ($ requestContent !== null ) {
80- $ body = new RequestBody ();
73+ $ body = $ this -> createStream ();
8174 $ body ->write ($ requestContent );
8275
8376 $ slimRequest = $ slimRequest ->withBody ($ body );
@@ -128,4 +121,14 @@ private function createUploadedFile(array $file): UploadedFile
128121 $ file ['error ' ]
129122 );
130123 }
124+
125+ private function createStream (): Stream
126+ {
127+ $ stream = fopen ('php://temp ' , 'wb+ ' );
128+ if ($ stream === false ) {
129+ throw new RuntimeException ('Could not open `php://temp` stream. ' );
130+ }
131+
132+ return new Stream ($ stream );
133+ }
131134}
0 commit comments