public function initialize(array $query, array $post, array $cookie, array $server, array $files, array $env, $content = null)
    {
        $this->query = new Collection($query);
        $this->post = new Collection($post);
        $this->put = new Collection([]);
        $this->patch = new Collection([]);
        $this->delete = new Collection([]);
        $this->env = new Collection($env);
        $this->header = new Header($server);
        $this->server = new Collection($server);
        $this->cookie = new Collection($cookie);

        $this->files = new Files($files);
        $this->content = $content;
        $this->method = null;
        $this->setClientIPs();
        $this->setPath();
        $this->setUnsupportedMethodsIfExists();

        return $this;
    }