public function post($key = null, $default = null)
    {
        if (!isset($this->env['yee.input'])) {
            throw new \RuntimeException('Missing Yee.input in environment variables');
        }
        if (!isset($this->env['yee.request.form_hash'])) {
            $this->env['yee.request.form_hash'] = array();
            if ($this->isFormData() && is_string($this->env['yee.input'])) {
                $output = array();
                if (function_exists('mb_parse_str') && !isset($this->env['yee.tests.ignore_multibyte'])) {
                    mb_parse_str($this->env['yee.input'], $output);
                } else {
                    parse_str($this->env['yee.input'], $output);
                }
                $this->env['yee.request.form_hash'] = Util::stripSlashesIfMagicQuotes($output);
            } else {
                $this->env['yee.request.form_hash'] = Util::stripSlashesIfMagicQuotes($_POST);
            }
        }
        if ($key) {
            if (isset($this->env['yee.request.form_hash'][$key])) {
                return $this->env['yee.request.form_hash'][$key];
            } else {
                return $default;
            }
        } else {
            return $this->env['yee.request.form_hash'];
        }
    }