JsonResponseListener.php
<?php namespace MyCorp\MyBundle\Listener; use Symfony\Component\HttpKernel\Event\FilterResponseEvent; class JsonResponseListener { public function onKernelResponse(FilterResponseEvent $event) { $request = $event->getRequest(); if(strpos($request->getHost(), 'api.') === false) { return; } $event->getResponse()->headers->set('Access-Control-Allow-Headers', 'origin, content-type, accept'); $event->getResponse()->headers->set('Access-Control-Allow-Origin', '*'); $event->getResponse()->headers->set('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE OPTIONS'); } } |
services.xml
<?xml version="1.0" ?> <container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"> <services> <service id="mycorp.filter_response_listener" class="MyCorp\MyBundle\Listener\JsonResponseListener"> <tag name="kernel.event_listener" event="kernel.response" method="onKernelResponse" /> </service> </services> </container> |