Exemplo n.º 1
0
 public static function createFromGlobals()
 {
     $method = $_SERVER['REQUEST_METHOD'];
     $scheme = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] ? 'https' : 'http';
     $url = $scheme . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
     $request = new Request($method, $url);
     // fill in headers
     foreach ($_SERVER as $name => $value) {
         if (strpos($name, 'HTTP_') === 0) {
             $name = substr($name, 5);
             $name = str_replace('_', ' ', $name);
             $name = ucwords(strtolower($name));
             $name = str_replace(' ', '-', $name);
             $request->headers->set($name, $value);
         }
     }
     // for extra convenience
     //$request->params->set('user-ip', $_SERVER['REMOTE_ADDR']);
     // will be empty if content-type is multipart
     $input = file_get_contents("php://input");
     if (count($_FILES) > 0) {
         $request->post->replace($_POST);
         $request->files->replace($_FILES);
     } else {
         if (count($_POST) > 0) {
             $request->post->replace($_POST);
         } else {
             $request->setBody($input);
         }
     }
     // for extra convenience
     $request->prepare();
     return $request;
 }