CloudCastle Curl

PendingRequest
in package

FinalYes

Текучий конструктор запроса.

Накапливает метод, адрес, заголовки, параметры запроса, тело, аутентификацию и настройки выполнения, после чего собирает 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

готовый запрос

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

этот же конструктор

On this page

Search results