src/Logger/BgRequestProcessor.php line 10

Open in your IDE?
  1. <?php
  2. namespace App\Logger;
  3. use App\Utils\Constantes;
  4. use App\Utils\JWTEncoder;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Component\HttpFoundation\RequestStack;
  7. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  8. class BgRequestProcessor
  9. {
  10.     // private $session;
  11.     // private $sessionId;
  12.     private $jwtFactory;
  13.     private $request;
  14.     private $requestStack;
  15.     public function __construct(RequestStack $requestStack)
  16.     {
  17.         // $this->session = $session;
  18.         $this->jwtFactory JWTEncoder::getInstance();
  19.         $this->request Request::createFromGlobals();
  20.         $this->requestStack $requestStack;
  21.     }
  22.     // this method is called for each log record; optimize it to not hurt performance
  23.     public function __invoke(array $record)
  24.     {
  25.         $apiKey $this->request->headers->get(Constantes::AUTH_TOKEN);
  26.         $dataToken $this->jwtFactory->decode($apiKey);
  27.         // if (!$this->session->isStarted()) {
  28.         //     return $record;
  29.         // }
  30.         // if (!$this->sessionId) {
  31.         //     $this->sessionId = substr($this->session->getId(), 0, 8) ?: '????????';
  32.         // }
  33.         // $record['extra']['token'] = $this->sessionId.'-'.substr(uniqid('', true), -8);
  34.         // var_dump('OK');die;
  35.         $record['extra']['user']['id'] = isset($dataToken['id']) ? $dataToken['id'] : '';
  36.         $record['extra']['user']['username'] = isset($dataToken['username']) ? $dataToken['username'] : '';
  37.         $record['extra']['user']['roles'] = isset($dataToken['roles']) ? $dataToken['roles'] : '';
  38.         $record['extra']['entity'] = isset($dataToken['codeClient']) ? $dataToken['codeClient'] : '';
  39.         // $record['extra']['entity'] = 'bgpartners';
  40.         $record['extra']['service'] = 'Service Partenaires';
  41.         // var_dump($dataToken);
  42.         // var_dump($record);
  43.         // die;
  44.         return $record;
  45.     }
  46. }