protected function parseRequest($raw)
    {
        $this->raw = $raw;
        $request   = new SimpleGetEncoding();
        foreach (explode('&', $raw) as $pair) {
            if (preg_match('/(.*?)=(.*)/', $pair, $matches)) {
                $request->add(urldecode($matches[1]), urldecode($matches[2]));
            } elseif ($pair) {
                $request->add(urldecode($pair), '');
            }
        }

        return $request;
    }