You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.1 KiB
40 lines
1.1 KiB
<?php |
|
|
|
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 |
|
{ |
|
/** |
|
* The path to your application's "home" route. |
|
* |
|
* Typically, users are redirected here after authentication. |
|
* |
|
* @var string |
|
*/ |
|
public const HOME = '/dashboard'; |
|
|
|
/** |
|
* Define your route model bindings, pattern filters, and other route configuration. |
|
*/ |
|
public function boot(): void |
|
{ |
|
RateLimiter::for('api', function (Request $request) { |
|
return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip()); |
|
}); |
|
|
|
$this->routes(function () { |
|
Route::middleware('api') |
|
->prefix('api') |
|
->group(base_path('routes/api.php')); |
|
|
|
Route::middleware('web') |
|
->group(base_path('routes/web.php')); |
|
}); |
|
} |
|
}
|
|
|