From ced3e50bca279f5a499a6d513fcdfd2a020c28ce Mon Sep 17 00:00:00 2001 From: Taylor Otwell Date: Thu, 27 Aug 2020 13:36:32 -0500 Subject: [PATCH] use new rate limiting --- app/Http/Kernel.php | 2 +- app/Providers/RouteServiceProvider.php | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 5feef552..30020a50 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -40,7 +40,7 @@ class Kernel extends HttpKernel ], 'api' => [ - 'throttle:60,1', + 'throttle:api', \Illuminate\Routing\Middleware\SubstituteBindings::class, ], ]; diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index b3544761..43c3c9fb 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -2,7 +2,10 @@ namespace App\Providers; +use Illuminate\Cache\RateLimiting\Limit; use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\RateLimiter; use Illuminate\Support\Facades\Route; class RouteServiceProvider extends ServiceProvider @@ -23,6 +26,8 @@ class RouteServiceProvider extends ServiceProvider */ public function boot() { + $this->configureRateLimiting(); + $this->routes(function () { Route::middleware('web') ->group(base_path('routes/web.php')); @@ -32,4 +37,16 @@ public function boot() ->group(base_path('routes/api.php')); }); } + + /** + * Configure the rate limiters for the application. + * + * @return void + */ + protected function configureRateLimiting() + { + RateLimiter::for('api', function (Request $request) { + return Limit::perMinute(60); + }); + } }