CloudCastle Curl

Tuning
in package

FinalYes

Тонкая настройка транспорта.

Параметры, которые нужны реже основных: привязка к сетевому интерфейсу, таймаут простоя (обрыв «зависшей» передачи), управление Expect: 100-continue, ограничение скорости приёма/передачи, отладочный журнал cURL (сырой поток или VerboseLog с маскированием секретов), сбор цепочки сертификатов сервера, задержка перед отправкой и произвольные опции cURL. Произвольные опции не могут переопределить критичные для безопасности настройки (проверку TLS, перенаправления, адрес, фиксацию DNS и колбэки приёма данных) — такая попытка отклоняется исключением.

Table of Contents

Methods

__construct()  : mixed
capturesCertificates()  : bool
Собирать ли цепочку сертификатов сервера.
curlOptions()  : array<int, mixed>
Произвольные опции cURL.
debug()  : resource|null
Поток отладочного журнала cURL.
delay()  : float
Задержка перед отправкой.
expectsContinue()  : bool
Разрешён ли `Expect: 100-continue`.
idleTimeout()  : int
Таймаут простоя в секундах.
interface()  : string|null
Сетевой интерфейс исходящих соединений.
maxDownloadSpeed()  : int
Предел скорости приёма.
maxUploadSpeed()  : int
Предел скорости передачи.
toCurlOptions()  : array<int, mixed>
Опции cURL, соответствующие настройке.
verbose()  : VerboseLog|null
Отладочный журнал cURL с маскированием секретов.

Methods

__construct()

public __construct([string|null $interface = null ][, int $idleTimeout = 0 ][, bool $expectContinue = true ][, int $maxDownloadSpeed = 0 ][, int $maxUploadSpeed = 0 ][, resource|null $debug = null ][, bool $certificateInfo = false ][, float $delay = 0.0 ][, array<int, mixed> $curlOptions = [] ][, VerboseLog|null $verbose = null ]) : mixed
Parameters
$interface : string|null = null

сетевой интерфейс или локальный адрес исходящих соединений

$idleTimeout : int = 0

таймаут простоя в секундах: обрыв, если данные не идут (0 — выкл.)

$expectContinue : bool = true

разрешать ли Expect: 100-continue для больших тел

$maxDownloadSpeed : int = 0

предел скорости приёма в байтах/с (0 — без предела)

$maxUploadSpeed : int = 0

предел скорости передачи в байтах/с (0 — без предела)

$debug : resource|null = null

поток для отладочного журнала cURL (CURLOPT_VERBOSE) или null

$certificateInfo : bool = false

собирать ли цепочку сертификатов сервера

$delay : float = 0.0

задержка перед отправкой в секундах

$curlOptions : array<int, mixed> = []

произвольные опции cURL (CURLOPT_*)

$verbose : VerboseLog|null = null

отладочный журнал cURL с маскированием секретов или null (если задан, заменяет поток $debug)

Tags
throws
RequestException

если среди опций есть защищённая пакетом

capturesCertificates()

Собирать ли цепочку сертификатов сервера.

public capturesCertificates() : bool
Return values
bool —

true, если сбор включён

curlOptions()

Произвольные опции cURL.

public curlOptions() : array<int, mixed>
Return values
array<int, mixed> —

опции

debug()

Поток отладочного журнала cURL.

public debug() : resource|null
Return values
resource|null —

поток или null

delay()

Задержка перед отправкой.

public delay() : float
Return values
float —

секунды

expectsContinue()

Разрешён ли `Expect: 100-continue`.

public expectsContinue() : bool
Return values
bool —

true, если поведение cURL по умолчанию сохранено

idleTimeout()

Таймаут простоя в секундах.

public idleTimeout() : int
Return values
int —

секунды (0 — выключен)

interface()

Сетевой интерфейс исходящих соединений.

public interface() : string|null
Return values
string|null —

интерфейс или null

maxDownloadSpeed()

Предел скорости приёма.

public maxDownloadSpeed() : int
Return values
int —

байт в секунду (0 — без предела)

maxUploadSpeed()

Предел скорости передачи.

public maxUploadSpeed() : int
Return values
int —

байт в секунду (0 — без предела)

toCurlOptions()

Опции cURL, соответствующие настройке.

public toCurlOptions() : array<int, mixed>
Return values
array<int, mixed> —

опции CURLOPT_*

verbose()

Отладочный журнал cURL с маскированием секретов.

public verbose() : VerboseLog|null
Return values
VerboseLog|null —

журнал или null

On this page

Search results