Neomerx\JsonApi\Http\Headers\Header::parse PHP Method

parse() public static method

Parse header.
public static parse ( string $header, string $name ) : Neomerx\JsonApi\Contracts\Http\Headers\HeaderInterface
$header string
$name string
return Neomerx\JsonApi\Contracts\Http\Headers\HeaderInterface
    public static function parse($header, $name)
    {
        if (is_string($name) === false || empty($name) === true) {
            throw new InvalidArgumentException('header');
        }
        $mediaTypes = [];
        $ranges = preg_split("/,(?=([^\"]*\"[^\"]*\")*[^\"]*\$)/", $header);
        $count = count($ranges);
        for ($idx = 0; $idx < $count; ++$idx) {
            $mediaTypes[] = static::parseMediaType($idx, $ranges[$idx]);
        }
        return static::newInstance($name, $mediaTypes);
    }

Usage Example

 /**
  * @inheritdoc
  */
 public function parse(ServerRequestInterface $request)
 {
     $acceptHeader = null;
     $contentTypeHeader = null;
     $method = $request->getMethod();
     try {
         $header = $this->getHeader($request, HeaderInterface::HEADER_CONTENT_TYPE);
         $contentTypeHeader = Header::parse($header, HeaderInterface::HEADER_CONTENT_TYPE);
     } catch (InvalidArgumentException $exception) {
         E::throwException(new E([], E::HTTP_CODE_BAD_REQUEST, $exception));
     }
     try {
         $header = $this->getHeader($request, HeaderInterface::HEADER_ACCEPT);
         $acceptHeader = AcceptHeader::parse($header);
     } catch (InvalidArgumentException $exception) {
         E::throwException(new E([], E::HTTP_CODE_BAD_REQUEST, $exception));
     }
     return $this->factory->createHeaderParameters($method, $acceptHeader, $contentTypeHeader);
 }
All Usage Examples Of Neomerx\JsonApi\Http\Headers\Header::parse