---
title: "Konfigurácia — HTTP Client Rate Limits for Laravel | Roundly"
description: "Každý konfiguračný kľúč, jeho predvolená hodnota a env premenná — profily, úložisko, deferrer, cache, Redis, databáza a udalosti."
url: https://roundly-consulting.com/sk/open-source/navody/http-client-rate-limits-for-laravel/konfiguracia
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[HTTP Client Rate Limits for Laravel](https://roundly-consulting.com/sk/open-source/navody/http-client-rate-limits-for-laravel.md)

# Konfigurácia

Balík funguje bez akejkoľvek konfigurácie. Publikovaný config/http-client-rate-limits.php v plnom znení:

```php
use RoundlyConsulting\HttpClientRateLimits\Deferrer\SleepDeferrer;
use RoundlyConsulting\HttpClientRateLimits\Store\InMemoryStore;

return [
    // Named limiter profiles referenced by string: Http::rateLimit('github').
    // Each is ['rate' => int, 'per' => second|minute|hour|day] plus optional
    // 'by', 'trim', 'max_wait' (ms), 'jitter' (ms), 'adaptive' (bool).
    'limiters' => [
        // 'github' => ['rate' => 5, 'per' => 'second', 'by' => null],
    ],

    // Default Store for every limit the manager builds (RateLimits::…, Http::rateLimit()).
    // Must implement RoundlyConsulting\HttpClientRateLimits\Store\Store.
    'store' => env('HTTP_CLIENT_RATE_LIMITS_STORE', InMemoryStore::class),

    // Default Deferrer used to read "now" and to pause when a limit is hit.
    // Must implement RoundlyConsulting\HttpClientRateLimits\Deferrer\Deferrer.
    'deferrer' => env('HTTP_CLIENT_RATE_LIMITS_DEFERRER', SleepDeferrer::class),

    // Cache store name (from config/cache.php) and key prefix used by the CacheStore.
    'cache_store' => env('HTTP_CLIENT_RATE_LIMITS_CACHE_STORE'),
    'cache_prefix' => env('HTTP_CLIENT_RATE_LIMITS_CACHE_PREFIX', 'http-client-rate-limits'),

    // Redis connection name (from config/database.php) used when the store is the RedisStore.
    'redis_connection' => env('HTTP_CLIENT_RATE_LIMITS_REDIS_CONNECTION', 'default'),

    // Database connection name used when the store is the DatabaseStore (null = default).
    'database_connection' => env('HTTP_CLIENT_RATE_LIMITS_DATABASE_CONNECTION'),

    // Dispatch RequestDeferred / RequestAllowed / RateLimitReset events when the limiter runs.
    'events_enabled' => env('HTTP_CLIENT_RATE_LIMITS_EVENTS_ENABLED', true),
];
```

## Všetky kľúče

| Kľúč | Predvolené | Env | Účel |
| --- | --- | --- | --- |
| `limiters` | \[\] | — | Pomenované profily limitov, na ktoré odkazujete reťazcom; profil bez by má kľúč podľa vlastného mena. |
| `store` | InMemoryStore::class | `HTTP_CLIENT_RATE_LIMITS_STORE` | Predvolené úložisko nových limitov (musí implementovať Store; nenastavené alebo prázdne = InMemoryStore). |
| `deferrer` | SleepDeferrer::class | `HTTP_CLIENT_RATE_LIMITS_DEFERRER` | Predvolený deferrer nových limitov (musí implementovať Deferrer; nenastavený alebo prázdny = SleepDeferrer). |
| `cache_store` | null | `HTTP_CLIENT_RATE_LIMITS_CACHE_STORE` | Cache store pre CacheStore (null, nenastavené alebo prázdne = predvolený cache store). |
| `cache_prefix` | http-client-rate-limits | `HTTP_CLIENT_RATE_LIMITS_CACHE_PREFIX` | Prefix kľúčov, ktoré zapisuje CacheStore. |
| `redis_connection` | default | `HTTP_CLIENT_RATE_LIMITS_REDIS_CONNECTION` | Redis spojenie, ktoré používa RedisStore. |
| `database_connection` | null | `HTTP_CLIENT_RATE_LIMITS_DATABASE_CONNECTION` | Databázové spojenie, ktoré používa DatabaseStore (null, nenastavené alebo prázdne = predvolené spojenie). |
| `events_enabled` | true | `HTTP_CLIENT_RATE_LIMITS_EVENTS_ENABLED` | Odosielať udalosti RequestDeferred / RequestAllowed / RateLimitReset. Prijíma true/false, 1/0, on/off, yes/no; prázdna hodnota ponechá predvolené true; čokoľvek iné vyhodí InvalidConfigurationException. |

Ak nakonfigurované úložisko alebo deferrer neimplementuje príslušný kontrakt, pri vytvorení limitu sa vyhodí typovaná výnimka InvalidStoreException / InvalidDeferrerException (obe rozširujú RateLimitException). Limit musí povoliť aspoň jednu požiadavku za okno: rate / maxAttempts pod 1 vyhodí InvalidLimitException.

Štyri nastavenia úložiska — cache\_store, cache\_prefix, redis\_connection a database\_connection — sa čítajú prísne pri načítaní príslušného úložiska: nereťazcová hodnota vyhodí InvalidConfigurationException s názvom kľúča. Prázdna hodnota znamená nenastavená: chýbajúci kľúč, null aj prázdna hodnota (KEY= u hostiteľa, prázdna alebo len z medzier) použijú predvolenú hodnotu, a to pri každom kľúči z tabuľky vyššie (prázdne events\_enabled udalosti ponechá zapnuté).

## Výber úložiska

Predvolené úložisko zvolíte v publikovanej konfigurácii. Napríklad limity môžete zdieľať cez cache, ktorú už prevádzkujete:

```php
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',
```

## Prostredie (env)

Nastavenia úložiska, deferrera, cache, Redisu, databázy a udalostí sa riadia cez env, takže ich môžete ladiť pre každé prostredie bez publikovania konfigurácie:

```bash
HTTP_CLIENT_RATE_LIMITS_CACHE_STORE=redis
HTTP_CLIENT_RATE_LIMITS_CACHE_PREFIX=http-client-rate-limits
HTTP_CLIENT_RATE_LIMITS_REDIS_CONNECTION=default
HTTP_CLIENT_RATE_LIMITS_DATABASE_CONNECTION=limits
HTTP_CLIENT_RATE_LIMITS_EVENTS_ENABLED=true
```

## Kontrola aktívneho nastavenia

Balík pridáva vlastnú sekciu do php artisan about — zobrazí aktívne úložisko, deferrer, počet profilov limitov a stav udalostí:

```bash
php artisan about --only=http-client-rate-limits
```

## 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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/http-client-rate-limits-for-laravel.md)
