CloudCastle Curl

RetryMiddleware
in package
implements MiddlewareInterface

FinalYes

Повтор запроса согласно политике {@see \CloudCastle\Curl\Retry\RetryPolicy}.

Повторяет запрос при сетевых сбоях, таймаутах и заданных кодах ответа (по умолчанию 429 и 5xx). Пауза берётся из экспоненциального backoff, а при наличии заголовка Retry-After — из него. Функции задержки и случайного джиттера инъектируются, что делает поведение детерминированным в тестах.

Table of Contents

Interfaces

MiddlewareInterface
Звено конвейера обработки запроса.

Methods

__construct()  : mixed
process()  : Response
Обработать запрос, передав управление дальше по конвейеру.

Methods

__construct()

public __construct([callable(float): void|null $sleeper = null ][, callable(): float|null $random = null ]) : mixed
Parameters
$sleeper : callable(float): void|null = null

функция паузы в секундах (по умолчанию usleep)

$random : callable(): float|null = null

источник доли джиттера [0, 1) (по умолчанию случайный)

process()

Обработать запрос, передав управление дальше по конвейеру.

public process(Request $request, callable(Request): Response $next) : Response
Parameters
$request : Request

входящий запрос

$next : callable(Request): Response

следующий обработчик конвейера

Attributes
#[Override]
Return values
Response

полученный ответ

On this page

Search results