/** * {@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); } }
/** * {@inheritdoc} */ public function process(ContextInterface $context) { /** @var Context $context */ $responseHeaders = $context->getResponseHeaders(); if (!$responseHeaders->has('Content-Type')) { $context->getResponseHeaders()->set('Content-Type', self::JSON_API_CONTENT_TYPE); } }