コード例 #1
0
 /**
  * {@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))));
 }
コード例 #2
0
ファイル: CheckRequestType.php プロジェクト: Maksold/platform
 /**
  * {@inheritdoc}
  */
 public function process(ContextInterface $context)
 {
     /** @var Context $context */
     if ($this->isJsonApiRequest($context->getRequestHeaders())) {
         $context->setRequestType(RequestType::JSON_API);
     }
 }
コード例 #3
0
 /**
  * {@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);
     }
 }