<?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="api_platform.state_provider.validate" class="ApiPlatform\Symfony\Validator\State\ValidateProvider">
            <argument>null</argument>
            <argument type="service" id="api_platform.validator" />
        </service>

        <service id="api_platform.listener.view.validate" class="ApiPlatform\Symfony\EventListener\ValidateListener">
            <argument type="service" id="api_platform.state_provider.validate" />
            <argument type="service" id="api_platform.metadata.resource.metadata_collection_factory" />

            <tag name="kernel.event_listener" event="kernel.view" method="onKernelView" priority="64" />
        </service>

        <service id="api_platform.state_provider.parameter_validator" class="ApiPlatform\Symfony\Validator\State\ParameterValidatorProvider" public="true" decorates="api_platform.state_provider.read" decoration-priority="110">
            <argument type="service" id="validator" />
            <argument type="service" id="api_platform.state_provider.parameter_validator.inner" />
        </service>
    </services>

</container>

