Ведро токенов | Неустранимая ошибка: длина строки не превышает 64 бита. PHP 8.2 | Ограничение скорости APIPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Ведро токенов | Неустранимая ошибка: длина строки не превышает 64 бита. PHP 8.2 | Ограничение скорости API

Сообщение Anonymous »

Неустранимая ошибка: неперехваченная пропускная способностьThrottle\tokenBucket\storage\StorageException:
Длина строки не превышает 64 бита. в \bandwidth-throttle\token-bucket\classes\util\DoublePacker.php: 41

Эта ошибка при применении следующего кода в конструкторе ApiController и пытался использовать потребление:

Код: Выделить всё

function __construct() {
$this->storage = new FileStorage(__DIR__ . "/api.bucket");
$this->rate    = new Rate(10, Rate::SECOND);
$this->bucket  = new TokenBucket(10, $this->rate, $this->storage);
//Following code executed once, then commented
//$this->bucket->bootstrap(10);
}
Проверка ограничения скорости

Код: Выделить всё

protected function checkRateLimit() {
if (!$this->bucket->consume(1, $seconds)) {
http_response_code(429);
header(sprintf("Retry-After: %d", floor($seconds)));
exit();
}
//echo "Continue to API response";
return true;
}
Я также заметил, что класс FileStorage отправляет пустую строку в функцию unpack() в Double Packer в строке 129.

Код: Выделить всё

bandwidthThrottle\tokenBucket\util\DoublePacker: :unpack('')
Пожалуйста, подскажите, что здесь не так?

Подробнее здесь: https://stackoverflow.com/questions/784 ... pi-rate-li
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»