Client
in package
Настраиваемый HTTP-клиент — точка входа пакета.
Оборачивает обработчик конвейером middleware (повторы → перенаправления →
пользовательские звенья → защита от SSRF) и выполняет запросы. Значения по
умолчанию безопасны. Экземпляр неизменяем: методы with* возвращают копию,
поэтому один базовый клиент можно безопасно донастраивать под задачу.
Table of Contents
Methods
- __construct() : mixed
- create() : self
- Создать клиент со стандартным конвейером (повторы, перенаправления, SSRF).
- headers() : Headers
- Заголовки по умолчанию.
- options() : RequestOptions
- Настройки выполнения по умолчанию.
- pool() : Pool
- Создать пул для параллельного выполнения запросов.
- request() : PendingRequest
- Начать построение запроса к адресу.
- send() : Response
- Выполнить готовый запрос через конвейер.
- withCookieJar() : self
- Копия клиента с включённой поддержкой cookie на базе хранилища.
- withDefaultHeader() : self
- Копия клиента с добавленным заголовком по умолчанию.
- withHandler() : self
- Копия клиента с другим обработчиком (например, {@see \CloudCastle\Curl\Handler\MockHandler}).
- withMiddleware() : self
- Копия клиента с добавленным внутренним звеном конвейера.
- withOptions() : self
- Копия клиента с другими настройками по умолчанию.
Methods
__construct()
public
__construct([HandlerInterface $handler = new CurlHandler() ][, MiddlewareStack $stack = new MiddlewareStack() ][, RequestOptions $options = new RequestOptions() ][, Headers $headers = new Headers(['User-Agent' => 'cloud-castle/curl']) ]) : mixed
Parameters
- $handler : HandlerInterface = new CurlHandler()
-
завершающий обработчик обмена
- $stack : MiddlewareStack = new MiddlewareStack()
-
конвейер middleware
- $options : RequestOptions = new RequestOptions()
-
настройки выполнения по умолчанию
- $headers : Headers = new Headers(['User-Agent' => 'cloud-castle/curl'])
-
заголовки по умолчанию
create()
Создать клиент со стандартным конвейером (повторы, перенаправления, SSRF).
public
static create([RequestOptions|null $options = null ], MiddlewareInterface ...$middleware) : self
Parameters
- $options : RequestOptions|null = null
-
настройки по умолчанию или
null - $middleware : MiddlewareInterface
-
дополнительные звенья (перед защитой от SSRF)
Return values
self —настроенный клиент
headers()
Заголовки по умолчанию.
public
headers() : Headers
Return values
Headers —заголовки
options()
Настройки выполнения по умолчанию.
public
options() : RequestOptions
Return values
RequestOptions —настройки
pool()
Создать пул для параллельного выполнения запросов.
public
pool([int $concurrency = 10 ]) : Pool
Parameters
- $concurrency : int = 10
-
максимум одновременных запросов
Return values
Pool —пул запросов
request()
Начать построение запроса к адресу.
public
request(string $url) : PendingRequest
Parameters
- $url : string
-
адрес запроса
Return values
PendingRequest —конструктор запроса
send()
Выполнить готовый запрос через конвейер.
public
send(Request $request) : Response
Parameters
- $request : Request
-
запрос
Return values
Response —ответ
withCookieJar()
Копия клиента с включённой поддержкой cookie на базе хранилища.
public
withCookieJar(CookieJar $jar) : self
Parameters
- $jar : CookieJar
-
хранилище cookie
Return values
self —новый клиент
withDefaultHeader()
Копия клиента с добавленным заголовком по умолчанию.
public
withDefaultHeader(string $name, string $value) : self
Parameters
- $name : string
-
имя заголовка
- $value : string
-
значение заголовка
Return values
self —новый клиент
withHandler()
Копия клиента с другим обработчиком (например, {@see \CloudCastle\Curl\Handler\MockHandler}).
public
withHandler(HandlerInterface $handler) : self
Parameters
- $handler : HandlerInterface
-
новый обработчик
Return values
self —новый клиент
withMiddleware()
Копия клиента с добавленным внутренним звеном конвейера.
public
withMiddleware(MiddlewareInterface $middleware) : self
Parameters
- $middleware : MiddlewareInterface
-
добавляемое звено
Return values
self —новый клиент
withOptions()
Копия клиента с другими настройками по умолчанию.
public
withOptions(RequestOptions $options) : self
Parameters
- $options : RequestOptions
-
новые настройки
Return values
self —новый клиент