@@ -36,30 +36,42 @@ public function create(SwooleRequest $swooleRequest): ServerRequestInterface
3636 $ request = $ request ->withCookieParams ($ swooleRequest ->cookie ?? []);
3737 $ request = $ request ->withQueryParams ($ swooleRequest ->get ?? []);
3838 $ request = $ request ->withParsedBody ($ swooleRequest ->post ?? []);
39- $ request = $ request ->withUploadedFiles ($ this ->uploadedFiles ($ swooleRequest ->files ?? []));
4039
41- $ request ->getBody ()->write ($ swooleRequest ->rawContent ());
40+ /** @var array<string, array{tmp_name?: string, size: null|int, error: int, name: null|string, type: null|string}> $files */
41+ $ files = $ swooleRequest ->files ?? [];
42+
43+ $ request = $ request ->withUploadedFiles ($ this ->uploadedFiles ($ files ));
44+
45+ if (false !== $ rawContent = $ swooleRequest ->rawContent ()) {
46+ $ request ->getBody ()->write ($ rawContent );
47+ }
4248
4349 return $ request ;
4450 }
4551
4652 /**
47- * @param array<string, array<string, int|string >> $files
53+ * @param array<string, array<string, mixed >> $files
4854 *
49- * @return array<string, UploadedFileInterface >
55+ * @return array<string, mixed >
5056 */
5157 private function uploadedFiles (array $ files ): array
5258 {
5359 $ uploadedFiles = [];
5460 foreach ($ files as $ key => $ file ) {
55- $ uploadedFiles [$ key ] = isset ($ file ['tmp_name ' ]) ? $ this ->createUploadedFile ($ file ) : $ this ->uploadedFiles ($ file );
61+ if (isset ($ file ['tmp_name ' ])) {
62+ /** @var array{tmp_name: string, size: null|int, error: int, name: null|string, type: null|string} $file */
63+ $ uploadedFiles [$ key ] = $ this ->createUploadedFile ($ file );
64+ } else {
65+ /** @var array<string, array<string, mixed>> $file */
66+ $ uploadedFiles [$ key ] = $ this ->uploadedFiles ($ file );
67+ }
5668 }
5769
5870 return $ uploadedFiles ;
5971 }
6072
6173 /**
62- * @param array< string, int|string> $file
74+ * @param array{tmp_name: string, size: null| int, error: int, name: null |string, type: null|string} $file
6375 */
6476 private function createUploadedFile (array $ file ): UploadedFileInterface
6577 {
0 commit comments