Yoast\WP\SEO\MyYoast_Client\Infrastructure\Http
HTTP_Client::store_rate_limit_response
Stores a 429 response in the expiring store for later replay.
Метод класса: HTTP_Client{}
Хуков нет.
Возвращает
null. Ничего (null).
Использование
// private - только в коде основоного (родительского) класса $result = $this->store_rate_limit_response( $url, $response ): void;
- $url(строка) (обязательный)
- The request URL.
- $response(HTTP_Response) (обязательный)
- The parsed 429 response.
Код HTTP_Client::store_rate_limit_response() HTTP Client::store rate limit response Yoast 28.3
private function store_rate_limit_response( string $url, HTTP_Response $response ): void {
$headers = $response->get_headers();
$retry_after = ( $headers['retry-after'] ?? null );
if ( \is_numeric( $retry_after ) ) {
$backoff_seconds = (int) $retry_after;
}
else {
$backoff_seconds = self::DEFAULT_BACKOFF_SECONDS;
}
$this->expiring_store->persist(
$this->get_rate_limit_key( $url ),
[
'stored_at' => \time(),
'backoff_seconds' => $backoff_seconds,
'status' => $response->get_status(),
'headers' => $headers,
'body' => $response->get_body(),
],
$backoff_seconds,
);
}