<?xml version="1.0" encoding="UTF-8"?>
<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="httplug.plugin.cache" class="Http\Client\Common\Plugin\CachePlugin" public="false" abstract="true">
            <argument />
            <argument />
            <argument />
        </service>
        <service id="httplug.plugin.content_length" class="Http\Client\Common\Plugin\ContentLengthPlugin" public="false" />
        <service id="httplug.plugin.cookie" class="Http\Client\Common\Plugin\CookiePlugin" public="false">
            <argument />
        </service>
        <service id="httplug.plugin.decoder" class="Http\Client\Common\Plugin\DecoderPlugin" public="false" />
        <service id="httplug.plugin.error" class="Http\Client\Common\Plugin\ErrorPlugin" public="false" />
        <service id="httplug.plugin.history" class="Http\Client\Common\Plugin\HistoryPlugin" public="false">
            <argument />
        </service>
        <service id="httplug.plugin.logger" class="Http\Client\Common\Plugin\LoggerPlugin" public="false" abstract="true">
            <argument />
            <argument>null</argument>
            <tag name="monolog.logger" channel="httplug" />
        </service>
        <service id="httplug.plugin.redirect" class="Http\Client\Common\Plugin\RedirectPlugin" public="false" />
        <service id="httplug.plugin.retry" class="Http\Client\Common\Plugin\RetryPlugin" public="false" />
        <service id="httplug.plugin.stopwatch" class="Http\Client\Common\Plugin\StopwatchPlugin" public="false" abstract="true">
            <argument />
        </service>
        <service id="httplug.plugin.throttle" class="Http\Client\Common\Plugin\ThrottlePlugin" public="false" abstract="true">
            <argument />
        </service>

        <!-- client specific plugin definition prototypes -->

        <service id="httplug.plugin.add_host" class="Http\Client\Common\Plugin\AddHostPlugin" public="false" abstract="true">
            <argument/>
            <argument/>
        </service>
        <service id="httplug.plugin.add_path" class="Http\Client\Common\Plugin\AddPathPlugin" public="false" abstract="true">
            <argument/>
        </service>
        <service id="httplug.plugin.base_uri" class="Http\Client\Common\Plugin\BaseUriPlugin" public="false" abstract="true">
            <argument/>
            <argument/>
        </service>
        <service id="httplug.plugin.content_type" class="Http\Client\Common\Plugin\ContentTypePlugin" public="false" abstract="true">
            <argument/>
        </service>
        <service id="httplug.plugin.header_append" class="Http\Client\Common\Plugin\HeaderAppendPlugin" public="false" abstract="true">
            <argument/>
        </service>
        <service id="httplug.plugin.header_defaults" class="Http\Client\Common\Plugin\HeaderDefaultsPlugin" public="false" abstract="true">
            <argument/>
        </service>
        <service id="httplug.plugin.header_set" class="Http\Client\Common\Plugin\HeaderSetPlugin" public="false" abstract="true">
            <argument/>
        </service>
        <service id="httplug.plugin.header_remove" class="Http\Client\Common\Plugin\HeaderRemovePlugin" public="false" abstract="true">
            <argument/>
        </service>
        <service id="httplug.plugin.query_defaults" class="Http\Client\Common\Plugin\QueryDefaultsPlugin" public="false" abstract="true">
            <argument/>
        </service>
        <service id="httplug.plugin.request_seekable_body" class="Http\Client\Common\Plugin\RequestSeekableBodyPlugin" public="false" abstract="true">
            <argument/>
        </service>
        <service id="httplug.plugin.response_seekable_body" class="Http\Client\Common\Plugin\ResponseSeekableBodyPlugin" public="false" abstract="true">
            <argument/>
        </service>

    </services>
</container>
