/**
  * @inheritdoc
  */
 public function parse(CurrentRequestInterface $request, ExceptionThrowerInterface $exceptionThrower)
 {
     $this->exceptionThrower = $exceptionThrower;
     $acceptHeader = null;
     $contentTypeHeader = null;
     try {
         $contentType = $request->getHeader(HeaderInterface::HEADER_CONTENT_TYPE);
         $contentTypeHeader = Header::parse(empty($contentType) === true ? MediaTypeInterface::JSON_API_MEDIA_TYPE : $contentType, HeaderInterface::HEADER_CONTENT_TYPE);
     } catch (InvalidArgumentException $exception) {
         $this->exceptionThrower->throwBadRequest();
     }
     try {
         $headerString = $request->getHeader(HeaderInterface::HEADER_ACCEPT);
         if (empty($headerString) === false) {
             $acceptHeader = AcceptHeader::parse($headerString);
         } else {
             $jsonMediaType = $this->factory->createAcceptMediaType(0, MediaTypeInterface::JSON_API_TYPE, MediaTypeInterface::JSON_API_SUB_TYPE);
             $acceptHeader = $this->factory->createAcceptHeader([$jsonMediaType]);
         }
     } catch (InvalidArgumentException $exception) {
         $this->exceptionThrower->throwBadRequest();
     }
     $parameters = $request->getQueryParameters();
     return $this->factory->createParameters($contentTypeHeader, $acceptHeader, $this->getIncludePaths($parameters), $this->getFieldSets($parameters), $this->getSortParameters($parameters), $this->getPagingParameters($parameters), $this->getFilteringParameters($parameters), $this->getUnrecognizedParameters($parameters));
 }
Example #2
0
 /**
  * @inheritdoc
  *
  * @return AcceptHeaderInterface
  */
 public static function parse($header, $accept = self::HEADER_ACCEPT)
 {
     return parent::parse($header, self::HEADER_ACCEPT);
 }