ThrottleRequests
класс ThrottleRequests (Просмотреть исходный код)
Свойства
| InteractsWithTime |
Свойства
| protected RateLimiter | $limiter | Экземпляр ограничение скорости. | |
| static protected bool | $shouldHashKeys | Указывает, должны ли ключи ограничения скорости быть хешированы. |
Методы
| int | secondsUntil(DateTimeInterface|DateInterval|int $delay) Получить количество секунд до заданной даты DateTime. | from InteractsWithTime |
| int | availableAt(DateTimeInterface|DateInterval|int $delay = 0) Получить отметку времени UNIX в формате "доступно в". | from InteractsWithTime |
| DateTimeInterface|int | parseDateInterval(DateTimeInterface|DateInterval|int $delay) Если заданное значение является интервалом, преобразовать его в экземпляр DateTime. | from InteractsWithTime |
| int | currentTime() Получить текущее системное время в формате UNIX timestamp. | from InteractsWithTime |
| void | __construct(RateLimiter $limiter) Создать новый ограничитель запросов. | |
| static string | using(string $name) Указать используемый ограничитель запросов с именем для middleware. | |
| static string | with(int $maxAttempts = 60, int $decayMinutes = 1, string $prefix = '') Указать конфигурацию ограничителя запросов для middleware. | |
| Response | handle(Request $request, Closure $next, int|string $maxAttempts = 60, float|int $decayMinutes = 1, string $prefix = '') Обработать входящий запрос. | |
| Response | handleRequestUsingNamedLimiter(Request $request, Closure $next, string $limiterName, Closure $limiter) Обработать входящий запрос. | |
| Response | handleRequest(Request $request, Closure $next, array $limits) Обработать входящий запрос. | |
| int | resolveMaxAttempts(Request $request, int|string $maxAttempts) Разрешить количество попыток, если пользователь авторизован или нет. | |
| string | resolveRequestSignature(Request $request) Разрешить подпись запроса. | |
| ThrottleRequestsException|HttpResponseException | buildException(Request $request, string $key, int $maxAttempts, callable|null $responseCallback = null) Создать исключение 'слишком много попыток'. | |
| int | getTimeUntilNextRetry(string $key) Получить количество секунд до следующей попытки. | |
| Response | addHeaders(Response $response, int $maxAttempts, int $remainingAttempts, int|null $retryAfter = null) Добавить информацию заголовков ограничения к данному ответу. | |
| array | getHeaders(int $maxAttempts, int $remainingAttempts, int|null $retryAfter = null, Response|null $response = null) Получить информацию заголовков ограничения. | |
| int | calculateRemainingAttempts(string $key, int $maxAttempts, int|null $retryAfter = null) Рассчитать оставшееся количество попыток. | |
| static void | shouldHashKeys(bool $shouldHashKeys = true) Указать, должны ли ключи ограничителей запросов быть хэшированы. |
Details
protected int secondsUntil(DateTimeInterface|DateInterval|int $delay)
Получить количество секунд до заданной даты DateTime.
protected int availableAt(DateTimeInterface|DateInterval|int $delay = 0)
Получить отметку времени UNIX в формате "доступно в".
protected DateTimeInterface|int parseDateInterval(DateTimeInterface|DateInterval|int $delay)
Если заданное значение является интервалом, преобразовать его в экземпляр DateTime.
protected int currentTime()
Получить текущее системное время в формате UNIX timestamp.
void __construct(RateLimiter $limiter)
Создать новый ограничитель запросов.
static string using(string $name)
Указать используемый ограничитель запросов по имени для middleware.
static string with(int $maxAttempts = 60, int $decayMinutes = 1, string $prefix = '')
Указать конфигурацию ограничителя запросов для middleware.
Response handle(Request $request, Closure $next, int|string $maxAttempts = 60, float|int $decayMinutes = 1, string $prefix = '')
Обработать входящий запрос.
protected Response handleRequestUsingNamedLimiter(Request $request, Closure $next, string $limiterName, Closure $limiter)
Обработать входящий запрос.
protected Response handleRequest(Request $request, Closure $next, array $limits)
Обработать входящий запрос.
protected int resolveMaxAttempts(Request $request, int|string $maxAttempts)
Определить количество попыток, если пользователь аутентифицирован или нет.
protected string resolveRequestSignature(Request $request)
Определить подпись запроса.
protected ThrottleRequestsException|HttpResponseException buildException(Request $request, string $key, int $maxAttempts, callable|null $responseCallback = null)
Создать исключение «слишком много попыток».
protected int getTimeUntilNextRetry(string $key)
Получить количество секунд до следующей попытки.
protected Response addHeaders(Response $response, int $maxAttempts, int $remainingAttempts, int|null $retryAfter = null)
Добавить информацию о лимите в заголовки данного ответа.
protected array getHeaders(int $maxAttempts, int $remainingAttempts, int|null $retryAfter = null, Response|null $response = null)
Получить информацию о заголовках лимита.
protected int calculateRemainingAttempts(string $key, int $maxAttempts, int|null $retryAfter = null)
Вычислить количество оставшихся попыток.
static void shouldHashKeys(bool $shouldHashKeys = true)
Укажите, должны ли ключи лимитера скорости хэшироваться.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/10.x/Illuminate/Routing/Middleware/ThrottleRequests.html