/** * {@inheritdoc} */ public function process(ContextInterface $context) { /** @var Context $context */ $xInclude = $context->getRequestHeaders()->get(Context::INCLUDE_HEADER); if (empty($xInclude) || is_array($xInclude)) { // no X-Include header or it is already normalized return; } $context->getRequestHeaders()->set(Context::INCLUDE_HEADER, array_filter(array_map('trim', explode(';', $xInclude)))); }
/** * {@inheritdoc} */ public function process(ContextInterface $context) { /** @var Context $context */ if ($this->isJsonApiRequest($context->getRequestHeaders())) { $context->setRequestType(RequestType::JSON_API); } }
/** * {@inheritdoc} */ public function process(ContextInterface $context) { /** @var GetListContext $context */ if ($context->getResponseHeaders()->has(self::HEADER_NAME)) { // total count header is already set return; } $xInclude = $context->getRequestHeaders()->get(Context::INCLUDE_HEADER); if (empty($xInclude) || !in_array(self::HEADER_VALUE, $xInclude, true)) { // total count is not requested return; } $totalCount = null; $totalCountCallback = $context->getTotalCountCallback(); if (null !== $totalCountCallback) { $totalCount = $this->executeTotalCountCallback($totalCountCallback); } $query = $context->getQuery(); if (null !== $query && null === $totalCount) { $totalCount = $this->calculateTotalCount($query); } if (null !== $totalCount) { $context->getResponseHeaders()->set(self::HEADER_NAME, $totalCount); } }