protected function addFormatToParams(&$params) { if (!AK_AUTOMATICALLY_ACCEPT_KNOW_FORMATS || empty($params) || isset($params['format'])) { return; } $last_key = Ak::last(array_keys($params)); if (!is_string($params[$last_key])) { return; } if ($format = strrchr($params[$last_key], '.')) { $trimmed_format = trim($format, '.'); if (!AkMimeType::isFormatRegistered($trimmed_format)) { return; } $params[$last_key] = substr($params[$last_key], 0, strpos($params[$last_key], $format)); $params['format'] = $trimmed_format; } }
/** * @return string Our mime_type, f.i. 'xml' */ public function getFormat() { if (isset($this->_request['format'])) { if (!AkMimeType::isFormatRegistered($this->_request['format'])) { throw new NotAcceptableException('Invalid format. Please register new formats in your config/ using AkMimeType::register("text/' . $this->_request['format'] . '", "' . $this->_request['format'] . '")'); } return $this->_request['format']; } return $this->lookupMimeType($this->getMimeType()); }