示例#1
0
 public function testCreateFromEnvironmentIgnoresHeaders()
 {
     $e = Environment::mock(['CONTENT_TYPE' => 'text/csv', 'HTTP_CONTENT_LENGTH' => 1230]);
     $h = Headers::createFromGlobals($e);
     $prop = new ReflectionProperty($h, 'data');
     $prop->setAccessible(true);
     $this->assertNotContains('content-length', $prop->getValue($h));
 }
示例#2
0
 public static function createFromGlobals(array $globals)
 {
     $env = new Collection($globals);
     $method = $env->get('REQUEST_METHOD');
     $uri = Uri::createFromGlobals($globals);
     $headers = Headers::createFromGlobals($globals);
     $cookies = Cookies::parseHeader($headers->get('Cookie', []));
     $serverParams = $globals;
     $body = new RequestBody();
     $uploadedFiles = UploadedFile::createFromGlobals($globals);
     $request = new static($method, $uri, $headers, $cookies, $serverParams, $body, $uploadedFiles);
     if ($method === 'POST' && in_array($request->getMediaType(), ['application/x-www-form-urlencoded', 'multipart/form-data'])) {
         // parsed body must be $_POST
         $request = $request->withParsedBody($_POST);
     }
     return $request;
 }