@@ -39,9 +39,19 @@ public function create(WorkermanTcpConnection $workermanTcpConnection, Workerman
3939 $ cookies = $ workermanRequest ->cookie ();
4040
4141 $ request = $ request ->withCookieParams ($ cookies );
42- $ request = $ request ->withQueryParams ($ workermanRequest ->get ());
43- $ request = $ request ->withParsedBody ($ workermanRequest ->post ());
44- $ request = $ request ->withUploadedFiles ($ this ->uploadedFiles ($ workermanRequest ->file ()));
42+
43+ /** @var array<string, string> $queryParams */
44+ $ queryParams = $ workermanRequest ->get () ?? [];
45+
46+ /** @var null|array<string, mixed>|object $parsedBody */
47+ $ parsedBody = $ workermanRequest ->post ();
48+
49+ /** @var array<string, array<string, mixed>> $uploadedFilesData */
50+ $ uploadedFilesData = $ workermanRequest ->file () ?? [];
51+
52+ $ request = $ request ->withQueryParams ($ queryParams );
53+ $ request = $ request ->withParsedBody ($ parsedBody );
54+ $ request = $ request ->withUploadedFiles ($ this ->uploadedFiles ($ uploadedFilesData ));
4555
4656 $ request ->getBody ()->write ($ workermanRequest ->rawBody ());
4757
@@ -60,22 +70,28 @@ private function createServerParams(WorkermanTcpConnection $workermanTcpConnecti
6070 }
6171
6272 /**
63- * @param array<string, array<string, int|string >> $files
73+ * @param array<string, array<string, mixed >> $files
6474 *
65- * @return array<string, UploadedFileInterface >
75+ * @return array<string, mixed >
6676 */
6777 private function uploadedFiles (array $ files ): array
6878 {
6979 $ uploadedFiles = [];
7080 foreach ($ files as $ key => $ file ) {
71- $ uploadedFiles [$ key ] = isset ($ file ['tmp_name ' ]) ? $ this ->createUploadedFile ($ file ) : $ this ->uploadedFiles ($ file );
81+ if (isset ($ file ['tmp_name ' ])) {
82+ /** @var array{tmp_name: string, size: null|int, error: int, name: null|string, type: null|string} $file */
83+ $ uploadedFiles [$ key ] = $ this ->createUploadedFile ($ file );
84+ } else {
85+ /** @var array<string, array<string, mixed>> $file */
86+ $ uploadedFiles [$ key ] = $ this ->uploadedFiles ($ file );
87+ }
7288 }
7389
7490 return $ uploadedFiles ;
7591 }
7692
7793 /**
78- * @param array< string, int|string> $file
94+ * @param array{tmp_name: string, size: null| int, error: int, name: null |string, type: null|string} $file
7995 */
8096 private function createUploadedFile (array $ file ): UploadedFileInterface
8197 {
0 commit comments