diff --git a/DependencyInjection/FOSRestExtension.php b/DependencyInjection/FOSRestExtension.php
index 3f87d7b04..965bd3110 100644
--- a/DependencyInjection/FOSRestExtension.php
+++ b/DependencyInjection/FOSRestExtension.php
@@ -23,7 +23,7 @@
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\DependencyInjection\Definition;
use Symfony\Component\DependencyInjection\Exception\LogicException;
-use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
+use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
use Symfony\Component\DependencyInjection\Reference;
use Symfony\Component\Form\Extension\Core\Type\FormType;
use Symfony\Component\HttpFoundation\ChainRequestMatcher;
@@ -51,10 +51,10 @@ public function getConfiguration(array $config, ContainerBuilder $container): Co
protected function loadInternal(array $mergedConfig, ContainerBuilder $container): void
{
- $loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
- $loader->load('view.xml');
- $loader->load('request.xml');
- $loader->load('serializer.xml');
+ $loader = new PhpFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
+ $loader->load('view.php');
+ $loader->load('request.php');
+ $loader->load('serializer.php');
foreach ($mergedConfig['service'] as $key => $service) {
if ('validator' === $service && empty($mergedConfig['body_converter']['validate'])) {
@@ -86,10 +86,10 @@ protected function loadInternal(array $mergedConfig, ContainerBuilder $container
$this->loadSerializer($mergedConfig, $container);
}
- private function loadForm(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
+ private function loadForm(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
{
if (!empty($config['disable_csrf_role'])) {
- $loader->load('forms.xml');
+ $loader->load('forms.php');
$definition = $container->getDefinition('fos_rest.form.extension.csrf_disable');
$definition->replaceArgument(1, $config['disable_csrf_role']);
@@ -97,7 +97,7 @@ private function loadForm(array $config, XmlFileLoader $loader, ContainerBuilder
}
}
- private function loadAllowedMethodsListener(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
+ private function loadAllowedMethodsListener(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
{
if ($this->isConfigEnabled($container, $config['allowed_methods_listener'])) {
if (!empty($config['allowed_methods_listener']['service'])) {
@@ -105,16 +105,16 @@ private function loadAllowedMethodsListener(array $config, XmlFileLoader $loader
$service->clearTag('kernel.event_listener');
}
- $loader->load('allowed_methods_listener.xml');
+ $loader->load('allowed_methods_listener.php');
$container->getDefinition('fos_rest.allowed_methods_loader')->replaceArgument(1, $config['cache_dir']);
}
}
- private function loadBodyListener(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
+ private function loadBodyListener(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
{
if ($this->isConfigEnabled($container, $config['body_listener'])) {
- $loader->load('body_listener.xml');
+ $loader->load('body_listener.php');
$service = $container->getDefinition('fos_rest.body_listener');
@@ -146,10 +146,10 @@ private function loadBodyListener(array $config, XmlFileLoader $loader, Containe
}
}
- private function loadFormatListener(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
+ private function loadFormatListener(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
{
if ($this->isConfigEnabled($container, $config['format_listener']) && !empty($config['format_listener']['rules'])) {
- $loader->load('format_listener.xml');
+ $loader->load('format_listener.php');
if (!empty($config['format_listener']['service'])) {
$service = $container->getDefinition('fos_rest.format_listener');
@@ -163,10 +163,10 @@ private function loadFormatListener(array $config, XmlFileLoader $loader, Contai
}
}
- private function loadVersioning(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
+ private function loadVersioning(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
{
if ($this->isConfigEnabled($container, $config['versioning'])) {
- $loader->load('versioning.xml');
+ $loader->load('versioning.php');
$versionListener = $container->getDefinition('fos_rest.versioning.listener');
$versionListener->replaceArgument(1, $config['versioning']['default_version']);
@@ -194,14 +194,14 @@ private function loadVersioning(array $config, XmlFileLoader $loader, ContainerB
}
}
- private function loadParamFetcherListener(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
+ private function loadParamFetcherListener(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
{
if ($this->isConfigEnabled($container, $config['param_fetcher_listener'])) {
if (!class_exists(Constraint::class)) {
throw new \LogicException('Enabling the fos_rest.param_fetcher_listener option when the Symfony Validator component is not installed is not supported. Try installing the symfony/validator package.');
}
- $loader->load('param_fetcher_listener.xml');
+ $loader->load('param_fetcher_listener.php');
if (!empty($config['param_fetcher_listener']['service'])) {
$service = $container->getDefinition('fos_rest.param_fetcher_listener');
@@ -214,7 +214,7 @@ private function loadParamFetcherListener(array $config, XmlFileLoader $loader,
}
}
- private function loadBodyConverter(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
+ private function loadBodyConverter(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
{
if (!$this->isConfigEnabled($container, $config['body_converter'])) {
return;
@@ -224,14 +224,14 @@ private function loadBodyConverter(array $config, XmlFileLoader $loader, Contain
throw new LogicException('To use the request body param converter, the "sensio/framework-extra-bundle" package is required.');
}
- $loader->load('request_body_param_converter.xml');
+ $loader->load('request_body_param_converter.php');
if (!empty($config['body_converter']['validation_errors_argument'])) {
$container->getDefinition('fos_rest.converter.request_body')->replaceArgument(4, $config['body_converter']['validation_errors_argument']);
}
}
- private function loadView(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
+ private function loadView(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
{
if (!empty($config['view']['jsonp_handler'])) {
$handler = new ChildDefinition($config['service']['view_handler']);
@@ -249,7 +249,7 @@ private function loadView(array $config, XmlFileLoader $loader, ContainerBuilder
}
if ($this->isConfigEnabled($container, $config['view']['mime_types'])) {
- $loader->load('mime_type_listener.xml');
+ $loader->load('mime_type_listener.php');
if (!empty($config['mime_type_listener']['service'])) {
$service = $container->getDefinition('fos_rest.mime_type_listener');
@@ -260,7 +260,7 @@ private function loadView(array $config, XmlFileLoader $loader, ContainerBuilder
}
if ($this->isConfigEnabled($container, $config['view']['view_response_listener'])) {
- $loader->load('view_response_listener.xml');
+ $loader->load('view_response_listener.php');
$service = $container->getDefinition('fos_rest.view_response_listener');
if (!empty($config['view_response_listener']['service'])) {
@@ -298,10 +298,10 @@ private function loadView(array $config, XmlFileLoader $loader, ContainerBuilder
]);
}
- private function loadException(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
+ private function loadException(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
{
if ($this->isConfigEnabled($container, $config['exception'])) {
- $loader->load('exception.xml');
+ $loader->load('exception.php');
if ($config['exception']['map_exception_codes']) {
$container->register('fos_rest.exception.response_status_code_listener', ResponseStatusCodeListener::class)
@@ -373,10 +373,10 @@ private function loadSerializer(array $config, ContainerBuilder $container): voi
$viewHandler->addArgument($options);
}
- private function loadZoneMatcherListener(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
+ private function loadZoneMatcherListener(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
{
if (!empty($config['zone'])) {
- $loader->load('zone_matcher_listener.xml');
+ $loader->load('zone_matcher_listener.php');
$zoneMatcherListener = $container->getDefinition('fos_rest.zone_matcher_listener');
foreach ($config['zone'] as $zone) {
diff --git a/Resources/config/allowed_methods_listener.php b/Resources/config/allowed_methods_listener.php
new file mode 100644
index 000000000..f5209a2fd
--- /dev/null
+++ b/Resources/config/allowed_methods_listener.php
@@ -0,0 +1,21 @@
+services();
+ $parameters = $container->parameters();
+
+ $services->set('fos_rest.allowed_methods_listener', \FOS\RestBundle\EventListener\AllowedMethodsListener::class)
+ ->args([service('fos_rest.allowed_methods_loader')])
+ ->tag('kernel.event_listener', ['event' => 'kernel.response', 'method' => 'onKernelResponse']);
+
+ $services->set('fos_rest.allowed_methods_loader', \FOS\RestBundle\Response\AllowedMethodsLoader\AllowedMethodsRouterLoader::class)
+ ->private()
+ ->args([
+ service('router'),
+ '',
+ '%kernel.debug%',
+ ])
+ ->tag('kernel.cache_warmer');
+};
diff --git a/Resources/config/allowed_methods_listener.xml b/Resources/config/allowed_methods_listener.xml
deleted file mode 100644
index 13524faf7..000000000
--- a/Resources/config/allowed_methods_listener.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- %kernel.debug%
-
-
-
-
diff --git a/Resources/config/body_listener.php b/Resources/config/body_listener.php
new file mode 100644
index 000000000..52ed2a9cd
--- /dev/null
+++ b/Resources/config/body_listener.php
@@ -0,0 +1,31 @@
+services();
+ $parameters = $container->parameters();
+
+ $services->set('fos_rest.normalizer.camel_keys', \FOS\RestBundle\Normalizer\CamelKeysNormalizer::class);
+
+ $services->set('fos_rest.normalizer.camel_keys_with_leading_underscore', \FOS\RestBundle\Normalizer\CamelKeysNormalizerWithLeadingUnderscore::class);
+
+ $services->set('fos_rest.decoder.json', \FOS\RestBundle\Decoder\JsonDecoder::class);
+
+ $services->set('fos_rest.decoder.jsontoform', \FOS\RestBundle\Decoder\JsonToFormDecoder::class);
+
+ $services->set('fos_rest.decoder.xml', \FOS\RestBundle\Decoder\XmlDecoder::class);
+
+ $services->set('fos_rest.decoder_provider', \FOS\RestBundle\Decoder\ContainerDecoderProvider::class)
+ ->args([
+ service('service_container'),
+ [],
+ ]);
+
+ $services->set('fos_rest.body_listener', \FOS\RestBundle\EventListener\BodyListener::class)
+ ->args([
+ service('fos_rest.decoder_provider'),
+ '', // exception on unsupported content type
+ ])
+ ->tag('kernel.event_listener', ['event' => 'kernel.request', 'method' => 'onKernelRequest', 'priority' => 10]);
+};
diff --git a/Resources/config/body_listener.xml b/Resources/config/body_listener.xml
deleted file mode 100644
index 1ee5facb7..000000000
--- a/Resources/config/body_listener.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Resources/config/exception.php b/Resources/config/exception.php
new file mode 100644
index 000000000..8ffd09fa3
--- /dev/null
+++ b/Resources/config/exception.php
@@ -0,0 +1,40 @@
+services();
+ $parameters = $container->parameters();
+
+ $services->set('fos_rest.exception.codes_map', \FOS\RestBundle\Util\ExceptionValueMap::class)
+ ->private()
+ ->args([
+ [], // exception codes
+ ]);
+
+ $services->set('fos_rest.exception.messages_map', \FOS\RestBundle\Util\ExceptionValueMap::class)
+ ->private()
+ ->args([
+ [], // exception messages
+ ]);
+
+ $services->set('fos_rest.serializer.flatten_exception_handler', \FOS\RestBundle\Serializer\Normalizer\FlattenExceptionHandler::class)
+ ->private()
+ ->args([
+ service('fos_rest.exception.codes_map'),
+ service('fos_rest.exception.messages_map'),
+ '', // show exception message
+ '', // render according to RFC 7807
+ ])
+ ->tag('jms_serializer.subscribing_handler');
+
+ $services->set('fos_rest.serializer.flatten_exception_normalizer', \FOS\RestBundle\Serializer\Normalizer\FlattenExceptionNormalizer::class)
+ ->private()
+ ->args([
+ service('fos_rest.exception.codes_map'), // exception messages
+ service('fos_rest.exception.messages_map'), // exception messages
+ '', // show exception message
+ '', // render according to RFC 7807
+ ])
+ ->tag('serializer.normalizer', ['priority' => -10]);
+};
diff --git a/Resources/config/exception.xml b/Resources/config/exception.xml
deleted file mode 100644
index d33d22d73..000000000
--- a/Resources/config/exception.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Resources/config/format_listener.php b/Resources/config/format_listener.php
new file mode 100644
index 000000000..894b9ebe5
--- /dev/null
+++ b/Resources/config/format_listener.php
@@ -0,0 +1,15 @@
+services();
+ $parameters = $container->parameters();
+
+ $services->set('fos_rest.format_listener', \FOS\RestBundle\EventListener\FormatListener::class)
+ ->args([service('fos_rest.format_negotiator')])
+ ->tag('kernel.event_listener', ['event' => 'kernel.request', 'method' => 'onKernelRequest', 'priority' => 34]);
+
+ $services->set('fos_rest.format_negotiator', \FOS\RestBundle\Negotiation\FormatNegotiator::class)
+ ->args([service('request_stack')]);
+};
diff --git a/Resources/config/format_listener.xml b/Resources/config/format_listener.xml
deleted file mode 100644
index d4ea1a965..000000000
--- a/Resources/config/format_listener.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Resources/config/forms.php b/Resources/config/forms.php
new file mode 100644
index 000000000..18b448d3c
--- /dev/null
+++ b/Resources/config/forms.php
@@ -0,0 +1,15 @@
+services();
+ $parameters = $container->parameters();
+
+ $services->set('fos_rest.form.extension.csrf_disable', \FOS\RestBundle\Form\Extension\DisableCSRFExtension::class)
+ ->args([
+ service('security.token_storage'),
+ '', // disable CSRF role
+ service('security.authorization_checker'),
+ ]);
+};
diff --git a/Resources/config/forms.xml b/Resources/config/forms.xml
deleted file mode 100644
index aede2bf94..000000000
--- a/Resources/config/forms.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Resources/config/mime_type_listener.php b/Resources/config/mime_type_listener.php
new file mode 100644
index 000000000..22e351a6c
--- /dev/null
+++ b/Resources/config/mime_type_listener.php
@@ -0,0 +1,12 @@
+services();
+ $parameters = $container->parameters();
+
+ $services->set('fos_rest.mime_type_listener', \FOS\RestBundle\EventListener\MimeTypeListener::class)
+ ->args([[]])
+ ->tag('kernel.event_listener', ['event' => 'kernel.request', 'method' => 'onKernelRequest', 'priority' => 200]);
+};
diff --git a/Resources/config/mime_type_listener.xml b/Resources/config/mime_type_listener.xml
deleted file mode 100644
index 4de4df290..000000000
--- a/Resources/config/mime_type_listener.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Resources/config/param_fetcher_listener.php b/Resources/config/param_fetcher_listener.php
new file mode 100644
index 000000000..0665a9aa5
--- /dev/null
+++ b/Resources/config/param_fetcher_listener.php
@@ -0,0 +1,15 @@
+services();
+ $parameters = $container->parameters();
+
+ $services->set('fos_rest.param_fetcher_listener', \FOS\RestBundle\EventListener\ParamFetcherListener::class)
+ ->args([
+ service('fos_rest.request.param_fetcher'),
+ false,
+ ])
+ ->tag('kernel.event_listener', ['event' => 'kernel.controller', 'method' => 'onKernelController', 'priority' => 5]);
+};
diff --git a/Resources/config/param_fetcher_listener.xml b/Resources/config/param_fetcher_listener.xml
deleted file mode 100644
index 042757196..000000000
--- a/Resources/config/param_fetcher_listener.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
- false
-
-
-
-
diff --git a/Resources/config/request.php b/Resources/config/request.php
new file mode 100644
index 000000000..0005eb380
--- /dev/null
+++ b/Resources/config/request.php
@@ -0,0 +1,22 @@
+services();
+ $parameters = $container->parameters();
+
+ $services->set('fos_rest.request.param_fetcher', \FOS\RestBundle\Request\ParamFetcher::class)
+ ->args([
+ service('service_container'),
+ service('fos_rest.request.param_fetcher.reader'),
+ service('request_stack'),
+ service('validator')->nullOnInvalid(),
+ ]);
+
+ $services->alias(\FOS\RestBundle\Request\ParamFetcherInterface::class, 'fos_rest.request.param_fetcher');
+
+ $services->set('fos_rest.request.param_fetcher.reader', \FOS\RestBundle\Request\ParamReader::class)
+ ->private()
+ ->args([service('annotation_reader')->nullOnInvalid()]);
+};
diff --git a/Resources/config/request.xml b/Resources/config/request.xml
deleted file mode 100644
index d55542764..000000000
--- a/Resources/config/request.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Resources/config/request_body_param_converter.php b/Resources/config/request_body_param_converter.php
new file mode 100644
index 000000000..7457acf0c
--- /dev/null
+++ b/Resources/config/request_body_param_converter.php
@@ -0,0 +1,18 @@
+services();
+ $parameters = $container->parameters();
+
+ $services->set('fos_rest.converter.request_body', \FOS\RestBundle\Request\RequestBodyParamConverter::class)
+ ->args([
+ service('fos_rest.serializer'),
+ [], // serializer exclusion strategy groups
+ '', // serializer exclusion strategy version
+ service('fos_rest.validator')->ignoreOnInvalid(),
+ null, // request body validation errors argument
+ ])
+ ->tag('request.param_converter', ['converter' => 'fos_rest.request_body', 'priority' => -50]);
+};
diff --git a/Resources/config/request_body_param_converter.xml b/Resources/config/request_body_param_converter.xml
deleted file mode 100644
index 5710bbc1f..000000000
--- a/Resources/config/request_body_param_converter.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- null
-
-
-
-
-
diff --git a/Resources/config/serializer.php b/Resources/config/serializer.php
new file mode 100644
index 000000000..1e6203176
--- /dev/null
+++ b/Resources/config/serializer.php
@@ -0,0 +1,25 @@
+services();
+ $parameters = $container->parameters();
+
+ $services->set('fos_rest.serializer.jms', \FOS\RestBundle\Serializer\JMSSerializerAdapter::class)
+ ->private()
+ ->args([
+ service('jms_serializer.serializer'),
+ service('jms_serializer.serialization_context_factory'),
+ service('jms_serializer.deserialization_context_factory'),
+ ]);
+
+ $services->set('fos_rest.serializer.symfony', \FOS\RestBundle\Serializer\SymfonySerializerAdapter::class)
+ ->private()
+ ->args([service('serializer')]);
+
+ // Normalizes FormInterface when using the symfony serializer
+ $services->set('fos_rest.serializer.form_error_normalizer', \FOS\RestBundle\Serializer\Normalizer\FormErrorNormalizer::class)
+ ->private()
+ ->tag('serializer.normalizer', ['priority' => -10]);
+};
diff --git a/Resources/config/serializer.xml b/Resources/config/serializer.xml
deleted file mode 100644
index bf4fdb161..000000000
--- a/Resources/config/serializer.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Resources/config/versioning.php b/Resources/config/versioning.php
new file mode 100644
index 000000000..23d3e65fb
--- /dev/null
+++ b/Resources/config/versioning.php
@@ -0,0 +1,43 @@
+services();
+ $parameters = $container->parameters();
+
+ $services->set('fos_rest.versioning.listener', \FOS\RestBundle\EventListener\VersionListener::class)
+ ->args([
+ service('fos_rest.versioning.chain_resolver'),
+ '', // default media type version
+ ])
+ ->tag('kernel.event_listener', ['event' => 'kernel.request', 'method' => 'onKernelRequest', 'priority' => 33]);
+
+ $services->set('fos_rest.versioning.exclusion_listener', \FOS\RestBundle\EventListener\VersionExclusionListener::class)
+ ->args([service('fos_rest.view_handler')])
+ ->tag('kernel.event_listener', ['event' => 'kernel.request', 'method' => 'onKernelRequest', 'priority' => 31]);
+
+ $services->set('fos_rest.versioning.chain_resolver', \FOS\RestBundle\Version\ChainVersionResolver::class)
+ ->private()
+ ->args([
+ [], // resolvers
+ ]);
+
+ $services->set('fos_rest.versioning.header_resolver', \FOS\RestBundle\Version\Resolver\HeaderVersionResolver::class)
+ ->private()
+ ->args([
+ '', // request header name
+ ]);
+
+ $services->set('fos_rest.versioning.media_type_resolver', \FOS\RestBundle\Version\Resolver\MediaTypeVersionResolver::class)
+ ->private()
+ ->args([
+ '', // regex
+ ]);
+
+ $services->set('fos_rest.versioning.query_parameter_resolver', \FOS\RestBundle\Version\Resolver\QueryParameterVersionResolver::class)
+ ->private()
+ ->args([
+ '', // request parameter name
+ ]);
+};
diff --git a/Resources/config/versioning.xml b/Resources/config/versioning.xml
deleted file mode 100644
index 5071220eb..000000000
--- a/Resources/config/versioning.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Resources/config/view.php b/Resources/config/view.php
new file mode 100644
index 000000000..9f4fed397
--- /dev/null
+++ b/Resources/config/view.php
@@ -0,0 +1,20 @@
+services();
+ $parameters = $container->parameters();
+
+ $services->set('fos_rest.view_handler.default', \FOS\RestBundle\View\ViewHandler::class)
+ ->private()
+ ->tag('kernel.reset', ['method' => 'reset']);
+
+ $services->alias(\FOS\RestBundle\View\ViewHandlerInterface::class, 'fos_rest.view_handler');
+
+ $services->set('fos_rest.view_handler.jsonp', \FOS\RestBundle\View\JsonpHandler::class)
+ ->private()
+ ->args([
+ '', // JSONP callback parameter
+ ]);
+};
diff --git a/Resources/config/view.xml b/Resources/config/view.xml
deleted file mode 100644
index 996327ff1..000000000
--- a/Resources/config/view.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Resources/config/view_response_listener.php b/Resources/config/view_response_listener.php
new file mode 100644
index 000000000..42e421229
--- /dev/null
+++ b/Resources/config/view_response_listener.php
@@ -0,0 +1,16 @@
+services();
+ $parameters = $container->parameters();
+
+ $services->set('fos_rest.view_response_listener', \FOS\RestBundle\EventListener\ViewResponseListener::class)
+ ->args([
+ service('fos_rest.view_handler'),
+ '', // force view
+ service('annotation_reader')->nullOnInvalid(),
+ ])
+ ->tag('kernel.event_subscriber');
+};
diff --git a/Resources/config/view_response_listener.xml b/Resources/config/view_response_listener.xml
deleted file mode 100644
index 5ea9b7484..000000000
--- a/Resources/config/view_response_listener.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Resources/config/zone_matcher_listener.php b/Resources/config/zone_matcher_listener.php
new file mode 100644
index 000000000..6d1bf7587
--- /dev/null
+++ b/Resources/config/zone_matcher_listener.php
@@ -0,0 +1,11 @@
+services();
+ $parameters = $container->parameters();
+
+ $services->set('fos_rest.zone_matcher_listener', \FOS\RestBundle\EventListener\ZoneMatcherListener::class)
+ ->tag('kernel.event_listener', ['event' => 'kernel.request', 'method' => 'onKernelRequest', 'priority' => 248]);
+};
diff --git a/Resources/config/zone_matcher_listener.xml b/Resources/config/zone_matcher_listener.xml
deleted file mode 100644
index 6a18566e1..000000000
--- a/Resources/config/zone_matcher_listener.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Tests/EventListener/MimeTypeListenerTest.php b/Tests/EventListener/MimeTypeListenerTest.php
index ba2e7097f..c43e81104 100644
--- a/Tests/EventListener/MimeTypeListenerTest.php
+++ b/Tests/EventListener/MimeTypeListenerTest.php
@@ -55,6 +55,8 @@ public function testOnKernelRequestNoZone()
$listener = new MimeTypeListener(['soap' => ['application/soap+xml']]);
$request = new Request();
+ $mimeType = $request->getMimeType('soap');
+
$request->attributes->set(FOSRestBundle::ZONE_ATTRIBUTE, false);
$event = $this->getMockBuilder(RequestEvent::class)
->disableOriginalConstructor()->getMock();
@@ -68,7 +70,7 @@ public function testOnKernelRequestNoZone()
$listener->onKernelRequest($event);
- $this->assertNull($request->getMimeType('soap'));
+ $this->assertSame($mimeType, $request->getMimeType('soap'));
}
public function testOnKernelRequestWithZone()
diff --git a/Tests/Functional/app/Configuration/routing.yml b/Tests/Functional/app/Configuration/routing.yml
index 3e79dc212..aa539064b 100644
--- a/Tests/Functional/app/Configuration/routing.yml
+++ b/Tests/Functional/app/Configuration/routing.yml
@@ -1,7 +1,7 @@
_wdt:
- resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml"
+ resource: "@WebProfilerBundle/Resources/config/routing/wdt.php"
prefix: /_wdt
_profiler:
- resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml"
+ resource: "@WebProfilerBundle/Resources/config/routing/profiler.php"
prefix: /_profiler