HttpClientPool
in package
implements
HttpClientPool
AbstractYes
A http client pool allows to send requests on a pool of different http client using a specific strategy (least used, round robin, ...).
Table of Contents
Interfaces
- HttpClientPool
- A http client pool allows to send requests on a pool of different http client using a specific strategy (least used, round robin, ...).
Properties
- $clientPool : array<string|int, HttpClientPoolItem>
Methods
- addHttpClient() : void
- Add a client to the pool.
- sendAsyncRequest() : Promise
- Sends a PSR-7 request in an asynchronous way.
- sendRequest() : ResponseInterface
- Sends a PSR-7 request and returns a PSR-7 response.
- chooseHttpClient() : HttpClientPoolItem
- Return an http client given a specific strategy.
Properties
$clientPool
protected
array<string|int, HttpClientPoolItem>
$clientPool
= []
Methods
addHttpClient()
Add a client to the pool.
public
addHttpClient(ClientInterface|HttpAsyncClient $client) : void
Parameters
- $client : ClientInterface|HttpAsyncClient
sendAsyncRequest()
Sends a PSR-7 request in an asynchronous way.
public
sendAsyncRequest(RequestInterface $request) : Promise
Parameters
- $request : RequestInterface
Return values
Promise —resolves a PSR-7 Response or fails with an Http\Client\Exception
sendRequest()
Sends a PSR-7 request and returns a PSR-7 response.
public
sendRequest(RequestInterface $request) : ResponseInterface
Parameters
- $request : RequestInterface
Return values
ResponseInterfacechooseHttpClient()
Return an http client given a specific strategy.
protected
abstract chooseHttpClient() : HttpClientPoolItem
Tags
Return values
HttpClientPoolItem —Return a http client that can do both sync or async