NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
HTTP Client Rate Limits for Laravel

Predvolené hodnoty a prepisy

Globálne v konfigurácii

Nastavte store / deferrer v config/http-client-rate-limits.php: použije ich každý limit, ktorý manager vytvorí — fasáda RateLimits, injektovaný manager, pomenované profily, zložené polia aj každá forma Http::rateLimit():

use RoundlyConsulting\HttpClientRateLimits\Store\CacheStore;

// config/http-client-rate-limits.php
'store' => CacheStore::class,
'cache_store' => 'redis',                   // any store from config/cache.php (null = default)
'cache_prefix' => 'http-client-rate-limits',

Pre jedno miesto volania

RateLimits::usingStore() / usingDeferrer() vrátia nakonfigurovanú kópiu managera, takže zdieľaný singleton sa nikdy nezmení:

use RoundlyConsulting\HttpClientRateLimits\Facades\RateLimits;
use RoundlyConsulting\HttpClientRateLimits\Store\RedisStore;

$limits = RateLimits::usingStore(new RedisStore('cache'))->usingDeferrer(new MyDeferrer);

$limits->perMinute(30);

Kópia, ktorá úložisko neprepisuje, ďalej zdieľa úložisko managera z konfigurácie, takže pokusy sa stále sčítavajú do jedného limitu v rámci procesu. RateLimits::releasingJob() je rovnaká kópia, len s ReleaseDeferrer.

Pre jednu inštanciu

use RoundlyConsulting\HttpClientRateLimits\Facades\RateLimits;
use RoundlyConsulting\HttpClientRateLimits\Store\RedisStore;

$middleware = RateLimits::perMinute(30);

$middleware->setStore(new RedisStore('cache')); // share limits across processes via Redis
$middleware->setDeferrer($myDeferrer);

Poradie vyhodnotenia

  • setStore() / setDeferrer() na inštancii — pre danú inštanciu vždy vyhráva.
  • RateLimits::usingStore() / usingDeferrer() / releasingJob() — pre limity vytvorené z tejto kópie managera.
  • Konfiguračné kľúče store a deferrer — pre všetko ostatné.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.