Source of file Accept.php
Size: 3,174 Bytes - Last Modified: 2014-03-12T23:21:18+01:00
/home/theseer/Downloads/ZendFramework-2.3.0/library/Zend/Http/Header/Accept.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 | <?php /** * Zend Framework (http://framework.zend.com/) * * @link http://github.com/zendframework/zf2 for the canonical source repository * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ namespace Zend\Http\Header; use Zend\Http\Header\Accept\FieldValuePart; /** * Accept Header * * @see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1 */ class Accept extends AbstractAccept { /** * @var string */ protected $regexAddType = '#^([a-zA-Z+-]+|\*)/(\*|[a-zA-Z0-9+-]+)$#'; /** * Get field name * * @return string */ public function getFieldName() { return 'Accept'; } /** * Cast to string * * @return string */ public function toString() { return 'Accept: ' . $this->getFieldValue(); } /** * Add a media type, with the given priority * * @param string $type * @param int|float $priority * @param array $params * @return Accept */ public function addMediaType($type, $priority = 1, array $params = array()) { return $this->addType($type, $priority, $params); } /** * Does the header have the requested media type? * * @param string $type * @return bool */ public function hasMediaType($type) { return $this->hasType($type); } /** * Parse the keys contained in the header line * * @param string $fieldValuePart * @return FieldValuePart\AcceptFieldValuePart * @see \Zend\Http\Header\AbstractAccept::parseFieldValuePart() */ protected function parseFieldValuePart($fieldValuePart) { $raw = $fieldValuePart; if ($pos = strpos($fieldValuePart, '/')) { $type = trim(substr($fieldValuePart, 0, $pos)); } else { $type = trim(substr($fieldValuePart, 0)); } $params = $this->getParametersFromFieldValuePart($fieldValuePart); if ($pos = strpos($fieldValuePart, ';')) { $fieldValuePart = trim(substr($fieldValuePart, 0, $pos)); } if ($pos = strpos($fieldValuePart, '/')) { $subtypeWhole = $format = $subtype = trim(substr($fieldValuePart, strpos($fieldValuePart, '/') + 1)); } else { $subtypeWhole = ''; $format = '*'; $subtype = '*'; } $pos = strpos($subtype, '+'); if (false !== $pos) { $format = trim(substr($subtype, $pos + 1)); $subtype = trim(substr($subtype, 0, $pos)); } $aggregated = array( 'typeString' => trim($fieldValuePart), 'type' => $type, 'subtype' => $subtype, 'subtypeRaw' => $subtypeWhole, 'format' => $format, 'priority' => isset($params['q']) ? $params['q'] : 1, 'params' => $params, 'raw' => trim($raw), ); return new FieldValuePart\AcceptFieldValuePart((object) $aggregated); } } |