0 follower

Final Class Yiisoft\Yii\Debug\Collector\HttpClientInterfaceProxy

InheritanceYiisoft\Yii\Debug\Collector\HttpClientInterfaceProxy
ImplementsPsr\Http\Client\ClientInterface
Uses TraitsYiisoft\Yii\Debug\ProxyDecoratedCalls

Method Details

Hide inherited methods

__call() public method
public mixed __call ( string $name, array $arguments )
$name string
$arguments array

                public function __call(string $name, array $arguments)
{
    /**
     * @psalm-suppress MixedMethodCall
     */
    return $this->decorated->$name(...$arguments);
}

            
__construct() public method

public mixed __construct ( \Psr\Http\Client\ClientInterface $decorated, Yiisoft\Yii\Debug\Collector\HttpClientCollector $collector )
$decorated \Psr\Http\Client\ClientInterface
$collector Yiisoft\Yii\Debug\Collector\HttpClientCollector

                public function __construct(
    private readonly ClientInterface $decorated,
    private readonly HttpClientCollector $collector
) {
}

            
__get() public method
public mixed __get ( string $name )
$name string

                public function __get(string $name)
{
    return $this->decorated->$name;
}

            
__set() public method
public void __set ( string $name, mixed $value )
$name string
$value mixed

                public function __set(string $name, mixed $value): void
{
    $this->decorated->$name = $value;
}

            
sendRequest() public method

public \Psr\Http\Message\ResponseInterface sendRequest ( \Psr\Http\Message\RequestInterface $request )
$request \Psr\Http\Message\RequestInterface

                public function sendRequest(RequestInterface $request): ResponseInterface
{
    /** @psalm-var array{file: string, line: int} $callStack */
    $callStack = debug_backtrace()[0];
    $uniqueId = random_bytes(36);
    $startTime = microtime(true);
    $this->collector->collect($request, $startTime, $callStack['file'] . ':' . $callStack['line'], $uniqueId);
    $response = null;
    try {
        $response = $this->decorated->sendRequest($request);
    } finally {
        $endTime = microtime(true);
        $this->collector->collectTotalTime($response, $endTime, $uniqueId);
    }
    return $response;
}