kenken999/php
0
1<?php2 3namespace App\Providers;4 5use Illuminate\Cache\RateLimiting\Limit;6use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;7use Illuminate\Http\Request;8use Illuminate\Support\Facades\RateLimiter;9use Illuminate\Support\Facades\Route;10 11class RouteServiceProvider extends ServiceProvider12{13 /**14 * The path to the "home" route for your application.15 *16 * This is used by Laravel authentication to redirect users after login.17 *18 * @var string19 */20 public const HOME = '/home';21 22 /**23 * The controller namespace for the application.24 *25 * When present, controller route declarations will automatically be prefixed with this namespace.26 *27 * @var string|null28 */29 // protected $namespace = 'App\\Http\\Controllers';30 31 /**32 * Define your route model bindings, pattern filters, etc.33 *34 * @return void35 */36 public function boot()37 {38 $this->configureRateLimiting();39 40 $this->routes(function () {41 Route::prefix('api')42 ->middleware('api')43 ->namespace($this->namespace)44 ->group(base_path('routes/api.php'));45 46 Route::middleware('web')47 ->namespace($this->namespace)48 ->group(base_path('routes/web.php'));49 });50 }51 52 /**53 * Configure the rate limiters for the application.54 *55 * @return void56 */57 protected function configureRateLimiting()58 {59 RateLimiter::for('api', function (Request $request) {60 return Limit::perMinute(60)->by(optional($request->user())->id ?: $request->ip());61 });62 }63}64 