$parameters * @param array $options */ public function request( string $method, string $url, array $parameters = [], array $options = [] ): ResponseInterface { $token = $this->security->getToken(); $headers = [ 'Accept' => '*/*', 'Charset' => 'UTF-8', 'Accept-Encoding' => 'gzip, deflate, br', 'Content-Type' => 'application/ld+json', ]; /** @var Access $activeUser */ $activeUser = $token->getUser(); $jwt = null; if ($token instanceof SwitchUserToken) { /** @var Access|null $originalUser */ $originalUser = $token->getOriginalToken()->getUser(); if ($originalUser === null) { throw new HttpException(500, 'Request error : Switch original user missing'); } $jwt = $this->jwtManager->create($originalUser->getPerson()); $headers['x-accessid'] = $originalUser->getId(); $headers['x-switch-access'] = $activeUser->getId(); } elseif ($token !== null && !($token instanceof NullToken) && $token->getUser() !== null) { $jwt = $this->jwtManager->create($activeUser->getPerson()); $headers['x-accessid'] = $activeUser->getId(); } if ($jwt !== null) { $headers['authorization'] = 'BEARER ' . $jwt; } // Add the internal requests token $headers['internal-requests-token'] = $this->internalRequestsToken; $options['headers'] = array_merge($options['headers'] ?? [], $headers); return parent::request($method, $url, $parameters, $options); } }