/** * @param array $serverParams * @return ServerRequest */ public function makeServerRequest(array $serverParams) { // I have no idea why I need to type hint here, but phpstorm is complaining /** @var $serverRequest ServerRequest */ $headers = Headers::createFromArray($serverParams); $cookies = Cookies::parseHeader($headers->get('Cookie', [])); $serverRequest = new ServerRequest($serverParams, $cookies); $serverRequest = $serverRequest->withMethod($serverParams['REQUEST_METHOD']); $serverRequest = $serverRequest->withUri(); foreach ($headers->all() as $header => $value) { $serverRequest = $serverRequest->withHeader($header, $value); } $serverRequest = $serverRequest->withUploadedFiles(UploadedFile::parseUploadedFiles($_FILES)); return $serverRequest; }