Example #1
0
 /** Create request object from current hit
  * @return self
  */
 public static function from_hit()
 {
     if (\System\Status::on_cli()) {
         $data = array("time" => def($_SERVER['REQUEST_TIME_FLOAT'], microtime(true)), "cli" => true, "secure" => false);
     } else {
         $data = array("cli" => false, "ajax" => strtolower(def($_SERVER['HTTP_X_REQUESTED_WITH'])) == self::IDENT_XHR, "host" => def($_SERVER['HTTP_HOST']), "path" => def($_SERVER['REQUEST_URI']), "protocol" => def($_SERVER['REQUEST_SCHEME']), "referrer" => def($_SERVER['HTTP_REFERER']), "agent" => def($_SERVER['HTTP_USER_AGENT']), "query" => def($_SERVER['QUERY_STRING']), "time" => def($_SERVER['REQUEST_TIME_FLOAT'], microtime(true)), "secure" => any($_SERVER['HTTPS']), "method" => strtolower(def($_SERVER['REQUEST_METHOD'])), "cookies" => &$_COOKIE, "session" => &$_SESSION);
         if ($data['query']) {
             $path = explode('?', $data['path']);
             $data['path'] = $path[0];
         }
         if (isset($_GET['path'])) {
             $data['path'] = $_GET['path'];
         }
     }
     $obj = new self($data);
     return $obj->prepare_input();
 }