/** * Creates new Request instance from server parameters. * * @param array $server Array with server parameters. * This usually comes from $_SERVER superglobal. * * @return Request Request created from server parameters. */ public static function fromServer(array $server) { $headers = Headers::fromServer($server); $uri = Uri::fromServer($server); $body = new Stream(fopen('php://temp', 'w+')); $method = $server['REQUEST_METHOD']; $cookies = []; $request = new Request($headers, $body, $method, $uri, $server, $cookies); if ($method === 'POST') { // Think about better way of doing this $request = $request->withParsedBody($_POST); } return $request; }