Example #1
0
 public static function getRequest() : Request
 {
     static $request = null;
     if ($request === null) {
         $data = [];
         if (isset($GLOBALS['argc']) && $GLOBALS['argc'] > 0) {
             $argv = $GLOBALS['argv'];
             $i = 1;
             $method = $argv[$i];
             if ($argv[$i + 1] === '-s') {
                 $secure = true;
                 $i++;
             } else {
                 $secure = false;
             }
             $route = $argv[$i + 1];
             if (isset($argv[$i + 2])) {
                 parse_str($argv[$i + 2], $data);
             }
             $url = 'http' . ($secure ? 's' : '') . '://';
             $url .= Config::getString('host', 'domain.tld');
             $url .= '/' . trim($route, '/');
             $request = new Request($method, new Uri($url), $data, [], '');
         } else {
             $request = Request::createFromGlobals();
         }
     }
     return $request;
 }