public function getView($design, $view, $key = null, $params = array())
    {
        $query = $this->processViewParameters($params);

        $url = '_design/' . $design . '/_view/' . $view . '?' . implode('&', $query);

        if (is_array($key)) {
            $rtn = $this->getViewByPost($url, $key);
        } else {
            if (!is_null($key)) {
                if (is_string($key)) {
                    $key = '"' . $key . '"';
                }

                if (is_bool($key)) {
                    $key = $key ? 'true' : 'false';
                }

                $url .= '&key=' . $key;
            }

            $rtn = $this->getViewByGet($url);
        }

        return $rtn;
    }