CloudCastle Curl

Client
in package

FinalYes

Настраиваемый 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

заголовки

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

новый клиент

On this page

Search results