2c616b9182b3bcb87148ed33af7f3e74d3558d96
[yaffs-website] / vendor / symfony / http-kernel / EventListener / StreamedResponseListener.php
1 <?php
2
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Symfony\Component\HttpKernel\EventListener;
13
14 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
15 use Symfony\Component\HttpFoundation\StreamedResponse;
16 use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
17 use Symfony\Component\HttpKernel\KernelEvents;
18
19 /**
20  * StreamedResponseListener is responsible for sending the Response
21  * to the client.
22  *
23  * @author Fabien Potencier <fabien@symfony.com>
24  */
25 class StreamedResponseListener implements EventSubscriberInterface
26 {
27     /**
28      * Filters the Response.
29      */
30     public function onKernelResponse(FilterResponseEvent $event)
31     {
32         if (!$event->isMasterRequest()) {
33             return;
34         }
35
36         $response = $event->getResponse();
37
38         if ($response instanceof StreamedResponse) {
39             $response->send();
40         }
41     }
42
43     public static function getSubscribedEvents()
44     {
45         return array(
46             KernelEvents::RESPONSE => array('onKernelResponse', -1024),
47         );
48     }
49 }