ThrottleRequests
класс ThrottleRequests (View source)
Свойства
| 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-временной метки. | from InteractsWithTime |
| string | runTimeForHumans(float $startTime, float $endTime = null)
Задано начальное время, отформатировать общее время выполнения для удобного чтения человеком. | from InteractsWithTime |
| void | __construct(RateLimiter $limiter)
Создать новый ограничитель запросов. | |
| static string | using(string $name)
Указать используемый именованный ограничитель запросов для промежуточного ПО. | |
| static string | with(int $maxAttempts = 60, int $decayMinutes = 1, string $prefix = '')
Указать конфигурацию ограничителя запросов для промежуточного ПО. | |
| 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-временной метки.
protected string runTimeForHumans(float $startTime, float $endTime = null)
Учитывая начальное время, отформатируйте общее время выполнения для удобного чтения человеком.
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/11.x/Illuminate/Routing/Middleware/ThrottleRequests.html