RequestOptions
in package
Неизменяемые настройки выполнения запроса.
Собирает таймауты, политику перенаправлений и повторов, параметры TLS и
прокси, ограничение размера ответа и защиту от SSRF. Значения по умолчанию
безопасны: проверка TLS включена, защита от SSRF активна, размер ответа
ограничен. Объект неизменяем — каждый with* возвращает копию.
Table of Contents
Methods
- __construct() : mixed
- allowsPrivateNetwork() : bool
- Разрешены ли обращения во внутреннюю сеть.
- autoReferer() : bool
- Подставлять ли `Referer` при переходе.
- connectTimeout() : float
- Лимит установления соединения.
- decompresses() : bool
- Запрашивать и распаковывать ли сжатый ответ.
- followsRedirects() : bool
- Следовать ли перенаправлениям.
- forceIpVersion() : int|null
- Принудительная версия IP (`CURL_IPRESOLVE_*`).
- httpVersion() : HttpVersion
- Запрашиваемая версия протокола.
- maxRedirects() : int
- Максимальное число перенаправлений.
- maxResponseSize() : int
- Предел размера тела ответа.
- proxy() : Proxy|null
- Настройки прокси.
- retry() : RetryPolicy
- Политика повторов.
- share() : ShareHandle|null
- Общий пул cURL.
- ssrfProtection() : bool
- Включена ли защита от SSRF.
- stripsAuthOnRedirect() : bool
- Снимать ли учётные данные при смене хоста в перенаправлении.
- timeout() : float
- Общий лимит времени запроса.
- tls() : Tls
- Настройки TLS.
- with() : self
- Копия настроек с изменёнными полями.
Methods
__construct()
public
__construct([float $timeout = 30.0 ][, float $connectTimeout = 10.0 ][, bool $followRedirects = true ][, int $maxRedirects = 5 ][, bool $stripAuthOnRedirect = true ][, bool $autoReferer = true ][, HttpVersion $httpVersion = HttpVersion::Default ][, bool $decompress = true ][, bool $ssrfProtection = true ][, bool $allowPrivateNetwork = false ][, int $maxResponseSize = 33554432 ][, RetryPolicy $retry = new RetryPolicy() ][, Tls $tls = new Tls() ][, Proxy|null $proxy = null ][, int|null $forceIpVersion = null ][, ShareHandle|null $share = null ]) : mixed
Parameters
- $timeout : float = 30.0
-
общий лимит времени запроса в секундах (0 — без лимита)
- $connectTimeout : float = 10.0
-
лимит установления соединения в секундах
- $followRedirects : bool = true
-
следовать ли перенаправлениям
- $maxRedirects : int = 5
-
максимальное число перенаправлений
- $stripAuthOnRedirect : bool = true
-
снимать ли
Authorization/Cookieпри смене хоста - $autoReferer : bool = true
-
подставлять ли заголовок
Refererпри переходе - $httpVersion : HttpVersion = HttpVersion::Default
-
запрашиваемая версия протокола
- $decompress : bool = true
-
запрашивать и распаковывать ли сжатый ответ
- $ssrfProtection : bool = true
-
включена ли защита от SSRF
- $allowPrivateNetwork : bool = false
-
разрешены ли обращения во внутреннюю сеть
- $maxResponseSize : int = 33554432
-
предел размера тела ответа в байтах
- $retry : RetryPolicy = new RetryPolicy()
-
политика повторов
- $tls : Tls = new Tls()
-
настройки TLS
- $proxy : Proxy|null = null
-
настройки прокси или
null - $forceIpVersion : int|null = null
-
принудительная версия IP (
CURL_IPRESOLVE_*) илиnull - $share : ShareHandle|null = null
-
общий пул cURL (DNS/TLS/cookie/соединения) или
null
allowsPrivateNetwork()
Разрешены ли обращения во внутреннюю сеть.
public
allowsPrivateNetwork() : bool
Return values
bool —true, если приватные адреса допускаются
autoReferer()
Подставлять ли `Referer` при переходе.
public
autoReferer() : bool
Return values
bool —true, если заголовок подставляется
connectTimeout()
Лимит установления соединения.
public
connectTimeout() : float
Return values
float —секунды
decompresses()
Запрашивать и распаковывать ли сжатый ответ.
public
decompresses() : bool
Return values
bool —true, если декомпрессия включена
followsRedirects()
Следовать ли перенаправлениям.
public
followsRedirects() : bool
Return values
bool —true, если перенаправления обрабатываются
forceIpVersion()
Принудительная версия IP (`CURL_IPRESOLVE_*`).
public
forceIpVersion() : int|null
Return values
int|null —версия или null
httpVersion()
Запрашиваемая версия протокола.
public
httpVersion() : HttpVersion
Return values
HttpVersion —версия HTTP
maxRedirects()
Максимальное число перенаправлений.
public
maxRedirects() : int
Return values
int —лимит перенаправлений
maxResponseSize()
Предел размера тела ответа.
public
maxResponseSize() : int
Return values
int —размер в байтах
proxy()
Настройки прокси.
public
proxy() : Proxy|null
Return values
Proxy|null —настройки прокси или null
retry()
Политика повторов.
public
retry() : RetryPolicy
Return values
RetryPolicy —политика повторов
share()
Общий пул cURL.
public
share() : ShareHandle|null
Return values
ShareHandle|null —общий пул или null
ssrfProtection()
Включена ли защита от SSRF.
public
ssrfProtection() : bool
Return values
bool —true, если защита активна
stripsAuthOnRedirect()
Снимать ли учётные данные при смене хоста в перенаправлении.
public
stripsAuthOnRedirect() : bool
Return values
bool —true, если Authorization/Cookie снимаются
timeout()
Общий лимит времени запроса.
public
timeout() : float
Return values
float —секунды (0 — без лимита)
tls()
Настройки TLS.
public
tls() : Tls
Return values
Tls —настройки TLS
with()
Копия настроек с изменёнными полями.
public
with([float|null $timeout = null ][, float|null $connectTimeout = null ][, bool|null $followRedirects = null ][, int|null $maxRedirects = null ][, bool|null $stripAuthOnRedirect = null ][, bool|null $autoReferer = null ][, HttpVersion|null $httpVersion = null ][, bool|null $decompress = null ][, bool|null $ssrfProtection = null ][, bool|null $allowPrivateNetwork = null ][, int|null $maxResponseSize = null ][, RetryPolicy|null $retry = null ][, Tls|null $tls = null ][, Proxy|null $proxy = null ][, bool $clearProxy = false ][, int|null $forceIpVersion = null ][, ShareHandle|null $share = null ]) : self
Любой параметр со значением null (для нескалярных — специальный маркер)
сохраняет текущее значение. Метод избавляет от повторения всех аргументов
конструктора при точечном изменении.
Parameters
- $timeout : float|null = null
-
новый общий таймаут
- $connectTimeout : float|null = null
-
новый таймаут соединения
- $followRedirects : bool|null = null
-
новый флаг перенаправлений
- $maxRedirects : int|null = null
-
новый лимит перенаправлений
- $stripAuthOnRedirect : bool|null = null
-
новый флаг снятия учётных данных
- $autoReferer : bool|null = null
-
новый флаг
Referer - $httpVersion : HttpVersion|null = null
-
новая версия протокола
- $decompress : bool|null = null
-
новый флаг декомпрессии
- $ssrfProtection : bool|null = null
-
новый флаг защиты от SSRF
- $allowPrivateNetwork : bool|null = null
-
новый флаг приватной сети
- $maxResponseSize : int|null = null
-
новый предел размера ответа
- $retry : RetryPolicy|null = null
-
новая политика повторов
- $tls : Tls|null = null
-
новые настройки TLS
- $proxy : Proxy|null = null
-
новые настройки прокси
- $clearProxy : bool = false
-
убрать ли прокси (при
true$proxyигнорируется) - $forceIpVersion : int|null = null
-
новая версия IP
- $share : ShareHandle|null = null
-
новый общий пул cURL
Return values
self —новый экземпляр настроек