/**
* @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);
}