<?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="csa_guzzle.description_loader.json" class="Csa\Bundle\GuzzleBundle\Description\Loader\JsonLoader" public="false">
            <tag name="csa_guzzle.description_loader" />
        </service>

        <service id="csa_guzzle.description_loader" class="Symfony\Component\Config\Loader\DelegatingLoader">
            <argument type="service" id="csa_guzzle.description_loader.resolver" />
        </service>

        <service id="csa_guzzle.description_loader.resolver" class="Symfony\Component\Config\Loader\LoaderResolver" />

        <service id="csa_guzzle.description_factory" class="Csa\Bundle\GuzzleBundle\Factory\DescriptionFactory">
            <argument type="service" id="csa_guzzle.description_loader" />
            <argument>%kernel.cache_dir%</argument>
            <argument>%kernel.debug%</argument>
        </service>

        <service id="csa_guzzle.cache_warmer.description" class="Csa\Bundle\GuzzleBundle\Description\CacheWarmer\DescriptionCacheWarmer" public="false">
            <argument type="service" id="csa_guzzle.description_factory" />
            <tag name="kernel.cache_warmer" />
        </service>

        <service id="csa_guzzle.service.abstract" class="GuzzleHttp\Command\Guzzle\GuzzleClient" abstract="true" />

    </services>

</container>
