PendingRequest
in package
Текучий конструктор запроса.
Накапливает метод, адрес, заголовки, параметры запроса, тело, аутентификацию
и настройки выполнения, после чего собирает Request и отправляет его
через Client. Терминальные методы-глаголы (get, post, …) задают
метод и сразу возвращают Response.
Table of Contents
Methods
- __construct() : mixed
- build() : Request
- Собрать неизменяемый запрос.
- delete() : Response
- Выполнить запрос методом DELETE.
- get() : Response
- Выполнить запрос методом GET.
- head() : Response
- Выполнить запрос методом HEAD.
- options() : Response
- Выполнить запрос методом OPTIONS.
- patch() : Response
- Выполнить запрос методом PATCH.
- post() : Response
- Выполнить запрос методом POST.
- put() : Response
- Выполнить запрос методом PUT.
- send() : Response
- Отправить запрос текущим методом.
- toCurlCommand() : string
- Экспортировать запрос в команду `curl`.
- withAuth() : $this
- Задать учётные данные аутентификации.
- withBasicAuth() : $this
- Basic-аутентификация.
- withBearerToken() : $this
- Bearer-аутентификация по токену.
- withBody() : $this
- Задать произвольное тело.
- withDigestAuth() : $this
- Digest-аутентификация.
- withFile() : $this
- Выгрузить файл потоком (тело — содержимое файла).
- withForm() : $this
- Задать тело формы `application/x-www-form-urlencoded`.
- withHeader() : $this
- Добавить или заменить заголовок.
- withHeaders() : $this
- Добавить или заменить несколько заголовков.
- withHttpVersion() : $this
- Задать версию протокола.
- withIpVersion() : $this
- Принудительно выбрать версию IP.
- withJson() : $this
- Задать тело JSON.
- withMaxResponseSize() : $this
- Задать предел размера тела ответа.
- withMethod() : $this
- Задать метод HTTP.
- withMultipart() : $this
- Задать multipart-тело с полями и файлами.
- withNtlmAuth() : $this
- NTLM-аутентификация.
- withoutDecompression() : $this
- Отключить запрос и распаковку сжатого ответа.
- withoutRedirects() : $this
- Запретить перенаправления.
- withoutSsrfProtection() : $this
- Полностью отключить защиту от SSRF (небезопасно).
- withoutTlsVerification() : $this
- Отключить проверку TLS-сертификата (небезопасно).
- withPrivateNetwork() : $this
- Разрешить обращения во внутреннюю сеть (ослабляет защиту от SSRF).
- withProgress() : $this
- Отслеживать прогресс передачи.
- withProxy() : $this
- Задать прокси.
- withQuery() : $this
- Добавить параметры строки запроса.
- withRawBody() : $this
- Задать сырое тело.
- withRedirects() : $this
- Разрешить перенаправления и задать их лимит.
- withResumeFrom() : $this
- Возобновить загрузку со смещения (докачка).
- withRetries() : $this
- Задать простую политику повторов с экспоненциальным backoff.
- withRetryPolicy() : $this
- Задать политику повторов целиком.
- withShare() : $this
- Использовать общий пул cURL (DNS/TLS/cookie/соединения).
- withSink() : $this
- Сохранять тело ответа в приёмник (файл или обработчик чанков).
- withTimeout() : $this
- Задать таймауты запроса.
- withTls() : $this
- Задать настройки TLS.
Methods
__construct()
public
__construct(Client $client, string $url, RequestOptions $options, Headers $headers) : mixed
Parameters
- $client : Client
-
клиент, отправляющий запрос
- $url : string
-
адрес запроса
- $options : RequestOptions
-
настройки по умолчанию
- $headers : Headers
-
заголовки по умолчанию
build()
Собрать неизменяемый запрос.
public
build() : Request
Return values
Request —готовый запрос
delete()
Выполнить запрос методом DELETE.
public
delete() : Response
Return values
Response —ответ
get()
Выполнить запрос методом GET.
public
get() : Response
Return values
Response —ответ
head()
Выполнить запрос методом HEAD.
public
head() : Response
Return values
Response —ответ
options()
Выполнить запрос методом OPTIONS.
public
options() : Response
Return values
Response —ответ
patch()
Выполнить запрос методом PATCH.
public
patch() : Response
Return values
Response —ответ
post()
Выполнить запрос методом POST.
public
post() : Response
Return values
Response —ответ
put()
Выполнить запрос методом PUT.
public
put() : Response
Return values
Response —ответ
send()
Отправить запрос текущим методом.
public
send() : Response
Return values
Response —ответ
toCurlCommand()
Экспортировать запрос в команду `curl`.
public
toCurlCommand([bool $redactSecrets = true ]) : string
Parameters
- $redactSecrets : bool = true
-
маскировать ли секреты
Return values
string —команда curl
withAuth()
Задать учётные данные аутентификации.
public
withAuth(Auth $auth) : $this
Parameters
- $auth : Auth
-
учётные данные
Return values
$this —этот же конструктор
withBasicAuth()
Basic-аутентификация.
public
withBasicAuth(string $username, string $password) : $this
Parameters
- $username : string
-
имя пользователя
- $password : string
-
пароль
Return values
$this —этот же конструктор
withBearerToken()
Bearer-аутентификация по токену.
public
withBearerToken(string $token) : $this
Parameters
- $token : string
-
токен доступа
Return values
$this —этот же конструктор
withBody()
Задать произвольное тело.
public
withBody(Body $body) : $this
Parameters
- $body : Body
-
тело запроса
Return values
$this —этот же конструктор
withDigestAuth()
Digest-аутентификация.
public
withDigestAuth(string $username, string $password) : $this
Parameters
- $username : string
-
имя пользователя
- $password : string
-
пароль
Return values
$this —этот же конструктор
withFile()
Выгрузить файл потоком (тело — содержимое файла).
public
withFile(string $path[, string|null $contentType = null ]) : $this
Parameters
- $path : string
-
путь к файлу
- $contentType : string|null = null
-
значение
Content-Type
Return values
$this —этот же конструктор
withForm()
Задать тело формы `application/x-www-form-urlencoded`.
public
withForm(array<string, scalar|array<string|int, scalar>> $fields) : $this
Parameters
- $fields : array<string, scalar|array<string|int, scalar>>
-
поля формы
Return values
$this —этот же конструктор
withHeader()
Добавить или заменить заголовок.
public
withHeader(string $name, string $value) : $this
Parameters
- $name : string
-
имя заголовка
- $value : string
-
значение заголовка
Return values
$this —этот же конструктор
withHeaders()
Добавить или заменить несколько заголовков.
public
withHeaders(array<string, string|array<int, string>> $headers) : $this
Parameters
- $headers : array<string, string|array<int, string>>
-
заголовки
Return values
$this —этот же конструктор
withHttpVersion()
Задать версию протокола.
public
withHttpVersion(HttpVersion $version) : $this
Parameters
- $version : HttpVersion
-
версия HTTP
Return values
$this —этот же конструктор
withIpVersion()
Принудительно выбрать версию IP.
public
withIpVersion(int $version) : $this
Parameters
- $version : int
-
константа
CURL_IPRESOLVE_*
Return values
$this —этот же конструктор
withJson()
Задать тело JSON.
public
withJson(mixed $data[, int $flags = 0 ]) : $this
Parameters
- $data : mixed
-
кодируемые данные
- $flags : int = 0
-
флаги
json_encode
Return values
$this —этот же конструктор
withMaxResponseSize()
Задать предел размера тела ответа.
public
withMaxResponseSize(int $bytes) : $this
Parameters
- $bytes : int
-
предел в байтах
Return values
$this —этот же конструктор
withMethod()
Задать метод HTTP.
public
withMethod(string $method) : $this
Parameters
- $method : string
-
метод (в любом регистре)
Return values
$this —этот же конструктор
withMultipart()
Задать multipart-тело с полями и файлами.
public
withMultipart([array<string, string> $fields = [] ][, array<string, string> $files = [] ]) : $this
Parameters
- $fields : array<string, string> = []
-
текстовые поля
- $files : array<string, string> = []
-
карта «имя поля → путь к файлу»
Return values
$this —этот же конструктор
withNtlmAuth()
NTLM-аутентификация.
public
withNtlmAuth(string $username, string $password) : $this
Parameters
- $username : string
-
имя пользователя
- $password : string
-
пароль
Return values
$this —этот же конструктор
withoutDecompression()
Отключить запрос и распаковку сжатого ответа.
public
withoutDecompression() : $this
Return values
$this —этот же конструктор
withoutRedirects()
Запретить перенаправления.
public
withoutRedirects() : $this
Return values
$this —этот же конструктор
withoutSsrfProtection()
Полностью отключить защиту от SSRF (небезопасно).
public
withoutSsrfProtection() : $this
Return values
$this —этот же конструктор
withoutTlsVerification()
Отключить проверку TLS-сертификата (небезопасно).
public
withoutTlsVerification() : $this
Return values
$this —этот же конструктор
withPrivateNetwork()
Разрешить обращения во внутреннюю сеть (ослабляет защиту от SSRF).
public
withPrivateNetwork() : $this
Return values
$this —этот же конструктор
withProgress()
Отслеживать прогресс передачи.
public
withProgress(callable(int, int, int, int): void $callback) : $this
Parameters
- $callback : callable(int, int, int, int): void
-
обработчик прогресса (загрузка/выгрузка)
Return values
$this —этот же конструктор
withProxy()
Задать прокси.
public
withProxy(Proxy $proxy) : $this
Parameters
- $proxy : Proxy
-
настройки прокси
Return values
$this —этот же конструктор
withQuery()
Добавить параметры строки запроса.
public
withQuery(array<string, scalar|array<string|int, scalar>> $query) : $this
Parameters
- $query : array<string, scalar|array<string|int, scalar>>
-
параметры
Return values
$this —этот же конструктор
withRawBody()
Задать сырое тело.
public
withRawBody(string $content[, string|null $contentType = null ]) : $this
Parameters
- $content : string
-
содержимое
- $contentType : string|null = null
-
значение
Content-Type
Return values
$this —этот же конструктор
withRedirects()
Разрешить перенаправления и задать их лимит.
public
withRedirects([int $max = 5 ]) : $this
Parameters
- $max : int = 5
-
максимальное число перенаправлений
Return values
$this —этот же конструктор
withResumeFrom()
Возобновить загрузку со смещения (докачка).
public
withResumeFrom(int $offset) : $this
Parameters
- $offset : int
-
смещение в байтах
Return values
$this —этот же конструктор
withRetries()
Задать простую политику повторов с экспоненциальным backoff.
public
withRetries(int $times[, Backoff|null $backoff = null ]) : $this
Parameters
- $times : int
-
число повторов
- $backoff : Backoff|null = null
-
расчёт паузы или
nullдля значений по умолчанию
Return values
$this —этот же конструктор
withRetryPolicy()
Задать политику повторов целиком.
public
withRetryPolicy(RetryPolicy $policy) : $this
Parameters
- $policy : RetryPolicy
-
политика повторов
Return values
$this —этот же конструктор
withShare()
Использовать общий пул cURL (DNS/TLS/cookie/соединения).
public
withShare(ShareHandle $share) : $this
Parameters
- $share : ShareHandle
-
общий пул
Return values
$this —этот же конструктор
withSink()
Сохранять тело ответа в приёмник (файл или обработчик чанков).
public
withSink(string|callable(string): void $sink) : $this
Parameters
- $sink : string|callable(string): void
-
путь к файлу или обработчик чанков
Return values
$this —этот же конструктор
withTimeout()
Задать таймауты запроса.
public
withTimeout(float $timeout[, float|null $connectTimeout = null ]) : $this
Parameters
- $timeout : float
-
общий лимит времени в секундах
- $connectTimeout : float|null = null
-
лимит соединения или
null, чтобы не менять
Return values
$this —этот же конструктор
withTls()
Задать настройки TLS.
public
withTls(Tls $tls) : $this
Parameters
- $tls : Tls
-
настройки TLS
Return values
$this —этот же конструктор