vendor/uvdesk/api-bundle/EventListeners/API/KernelRequest.php line 39

Open in your IDE?
  1. <?php
  2. namespace Webkul\UVDesk\ApiBundle\EventListeners\API;
  3. use Symfony\Component\HttpFoundation\Response;
  4. use Symfony\Bundle\SecurityBundle\Security\FirewallMap;
  5. use Symfony\Component\HttpKernel\Event\ResponseEvent;
  6. use Symfony\Component\HttpKernel\Event\RequestEvent;
  7. class KernelRequest
  8. {
  9. private $firewall;
  10. public function __construct(FirewallMap $firewall)
  11. {
  12. $this->firewall = $firewall;
  13. }
  14. public function onKernelRequest(RequestEvent $event)
  15. {
  16. if (!$event->isMasterRequest()) {
  17. return;
  18. }
  19. $request = $event->getRequest();
  20. $method = $request->getRealMethod();
  21. if ('OPTIONS' == $method) {
  22. $event->setResponse(new Response());
  23. }
  24. return;
  25. }
  26. public function onKernelResponse(ResponseEvent $event)
  27. {
  28. $request = $event->getRequest();
  29. if (!$event->isMasterRequest()) {
  30. return;
  31. }
  32. if ('OPTIONS' == $request->getRealMethod() || 'POST' == $request->getRealMethod() || 'GET' == $request->getRealMethod()) {
  33. $response = $event->getResponse();
  34. $response->headers->set('Access-Control-Allow-Origin', '*');
  35. $response->headers->set('Access-Control-Allow-Methods', 'GET,POST,PUT,OPTIONS');
  36. $response->headers->set('Access-Control-Allow-Headers', ['Access-Control-Allow-Origin', 'Authorization', 'Content-Type']);
  37. }
  38. return;
  39. }
  40. }