@@ -0,0 +1,18 @@
+<?php
+
+namespace Packagist\WebBundle\EventListener;
+use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
+class CacheListener
+{
+ public function onResponse(FilterResponseEvent $e)
+ {
+ $resp = $e->getResponse();
+ // add nginx-cache compatible header
+ if ($resp->headers->hasCacheControlDirective('public') && ($cache = $resp->headers->getCacheControlDirective('s-maxage'))) {
+ $resp->headers->set('X-Accel-Expires', $cache);
+ }
+}
@@ -10,6 +10,11 @@ services:
tags:
- { name: twig.extension }
+ packagist.cache_listener:
+ class: Packagist\WebBundle\EventListener\CacheListener
+ tags:
+ - { name: kernel.event_listener, event: kernel.response, method: onResponse }
packagist.package_dumper:
class: Packagist\WebBundle\Package\SymlinkDumper
arguments: [ @doctrine, @filesystem, @router, "%kernel.root_dir%/../web/", "%packagist_metadata_dir%" ]