В моей среде dev после добавления прослушивателя ответов тип содержимого моих файлов css переключился с текста/css на текст/html. Моя цель - просто добавить некоторые заголовки кеширования ко всем ответам моего приложения symfony. определениеИзменения в ResponseListener Content-Type of assets
Услуги:
response_listener:
class: AppBundle\EventListeners\ResponseListener
tags:
- { name: kernel.event_listener, event: kernel.response }
Класс обслуживания:
<?php
namespace AppBundle\EventListeners;
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
class ResponseListener
{
public function onKernelResponse(FilterResponseEvent $event)
{
// while testing I do nothing special here
$response = $event->getResponse();
$event->setResponse($response);
}
}
Assetic конфигурации:
assetic:
debug: "%kernel.debug%"
use_controller: true
bundles: [ AppBundle ]
filters:
cssrewrite: ~
Twig тег:
{% stylesheets
'bundles/app/css/login.css'
filter='cssrewrite' %}
<link rel="stylesheet" type="text/css" href="{{ asset_url }}"/>
{% endstylesheets %}
С текстом/HTML в качестве содержимого введите CSS не отображается. Удаление только определения сервиса заставляет его работать снова. В среде prod он работает с прослушивателем ответа или без него, а js-файлы вообще не представляют проблемы.
Любые идеи?
Абсолютно правильно, я проследил его, чтобы произойти, когда событие обработано. Это своего рода ошибка. Я отредактирую вашу беседу, чтобы включить точную строку, где это происходит. –
Хорошее копание в корне проблемы –