Skip to content

Bundle to controls how frequently certain APIs are allowed to be called for ApiPlatform.

License

Notifications You must be signed in to change notification settings

BigChicChicken/ApiPlatformRateLimiterBundle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ApiPlatformRateLimiterBundle

Packagist

Bundle to controls how frequently certain APIs are allowed to be called for ApiPlatform.

Installation

Install ApiPlatformRateLimiterBundle library using Composer:

composer require bigchicchicken/api-platform-rate-limiter-group-bundle

Add/Check activation in the file config/bundles.php:

// config/bundles.php

return [
    // ...
    ApiPlatformRateLimiterBundle\ApiPlatformRateLimiterBundle::class => ['all' => true],
];

Configure the rate limiter of Symfony :

# config/packages/rate_limiter.yaml

framework:
    rate_limiter:
        fixed_window_5_requests_every_10_minutes:
            policy: 'fixed_window'
            limit: 5
            interval: '10 minutes'

And pass the rate limiter to your API's operation :

<?php

// src/Entity/MyClass.php

namespace App\Entity;

use ApiPlatform\Metadata\ApiResource;
use ApiPlatform\Metadata\GetCollection;

#[ApiResource]
#[GetCollection(extraProperties: [ 'rate_limiter' => 'fixed_window_5_requests_every_10_minutes' ])]
class MyClass
{
    // ...
}

License

This is completely free and released under the MIT License.

About

Bundle to controls how frequently certain APIs are allowed to be called for ApiPlatform.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages