HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/stafa/stafa.nl/vendor/sentry/sentry/src/HttpClient/PluggableHttpClientFactory.php
<?php

declare(strict_types=1);

namespace Sentry\HttpClient;

use Http\Client\Common\Plugin as HttpClientPluginInterface;
use Http\Client\Common\PluginClient;
use Http\Client\HttpAsyncClient as HttpAsyncClientInterface;
use Sentry\Options;

/**
 * This factory can be used to decorate an HTTP client with a list of plugins.
 *
 * @author Stefano Arlandini <sarlandini@alice.it>
 *
 * @deprecated since version 2.3, to be removed in 3.0
 */
final class PluggableHttpClientFactory implements HttpClientFactoryInterface
{
    /**
     * @var HttpClientFactoryInterface The HTTP factory being decorated
     */
    private $decoratedHttpClientFactory;

    /**
     * @var HttpClientPluginInterface[] The list of plugins to add to the HTTP client
     */
    private $httpClientPlugins;

    /**
     * Constructor.
     *
     * @param HttpClientFactoryInterface  $decoratedHttpClientFactory The HTTP factory being decorated
     * @param HttpClientPluginInterface[] $httpClientPlugins          The list of plugins to add to the HTTP client
     */
    public function __construct(HttpClientFactoryInterface $decoratedHttpClientFactory, array $httpClientPlugins)
    {
        @trigger_error(sprintf('The "%s" class is deprecated since version 2.3 and will be removed in 3.0.', self::class), \E_USER_DEPRECATED);

        $this->decoratedHttpClientFactory = $decoratedHttpClientFactory;
        $this->httpClientPlugins = $httpClientPlugins;
    }

    /**
     * {@inheritdoc}
     */
    public function create(Options $options): HttpAsyncClientInterface
    {
        $httpClient = $this->decoratedHttpClientFactory->create($options);

        return new PluginClient($httpClient, $this->httpClientPlugins);
    }
}