code: private function createRequest()
      {
          $keys    = array_keys($_SERVER);
          $request = new Request();
          foreach ($keys as $key) {
              if (!Strings::startsWith($key, "HTTP_")) {
                  continue;
              }
              $name  = str_replace("_", "-", substr($key, 5));
              $value = $_SERVER[$key];
              $request->setHeader(Util::parseHeader($name, $value));
          }
          
          $method  = strtolower($_SERVER["REQUEST_METHOD"]);
          $rawPath = $_SERVER["REQUEST_URI"];
          $scheme  = isset($_SERVER["HTTPS"]) ? "https" : "http";
          $request->setQuery($_GET);
          $request->setPost($_POST);
          $request->setHeader(new Raw(":path", $rawPath));
          $request->setHeader(new Raw(":scheme", $scheme));
          $request->setHeader(new Raw(":method", $method));
          $request->setPath($this->getRequestPath($rawPath));
          return $request;
      }
docs: グローバル変数 $_GET, $_POST, $_SERVER などを基にして
  Request オブジェクトを作成します.
  
  @return Request