Final Class yii\httpclient\MockTransport

Inheritanceyii\httpclient\MockTransport » yii\httpclient\Transport » yii\base\Component
Source Code https://github.com/yiisoft/yii2-httpclient/blob/master/src/MockTransport.php

Method Details

Hide inherited methods

appendResponse() public method

public appendResponse( yii\httpclient\Response $response ): mixed
$response yii\httpclient\Response

                public function appendResponse(Response $response)
{
    $this->responses[] = $response;
}

            
batchSend() public method

Defined in: yii\httpclient\Transport::batchSend()

Performs multiple HTTP requests.

Particular transport may benefit from this method, allowing sending requests in parallel. This method accepts an array of the yii\httpclient\Request objects and returns an array of the yii\httpclient\Response objects. Keys of the response array correspond the ones from request array.

public batchSend( yii\httpclient\Request[] $requests ): yii\httpclient\Response[]
$requests yii\httpclient\Request[]

Requests to perform.

return yii\httpclient\Response[]

Responses list.

throws yii\httpclient\Exception

                public function batchSend(array $requests)
{
    $responses = [];
    foreach ($requests as $key => $request) {
        $responses[$key] = $this->send($request);
    }
    return $responses;
}

            
flushRequests() public method

public flushRequests( ): yii\httpclient\Request[]

                public function flushRequests()
{
    $requests = $this->requests;
    $this->requests = [];
    return $requests;
}

            
send() public method

Performs given request.

public send( mixed $request ): yii\httpclient\Response
$request mixed

Request to be sent.

return yii\httpclient\Response

Response instance.

throws yii\httpclient\Exception

on failure.

                public function send($request)
{
    if (empty($this->responses)) {
        throw new Exception('No Response available');
    }
    $nextResponse = array_shift($this->responses);
    if (null === $nextResponse->client) {
        $nextResponse->client = $request->client;
    }
    $this->requests[] = $request;
    return $nextResponse;
}