RouteServiceProvider.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace App\Providers;
  3. use Illuminate\Cache\RateLimiting\Limit;
  4. use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Support\Facades\RateLimiter;
  7. use Illuminate\Support\Facades\Route;
  8. class RouteServiceProvider extends ServiceProvider
  9. {
  10. /**
  11. * The path to the "home" route for your application.
  12. *
  13. * This is used by Laravel authentication to redirect users after login.
  14. *
  15. * @var string
  16. */
  17. public const HOME = '/home';
  18. /**
  19. * If specified, this namespace is automatically applied to your controller routes.
  20. *
  21. * In addition, it is set as the URL generator's root namespace.
  22. *
  23. * @var string
  24. */
  25. protected $namespace = null;
  26. /**
  27. * Define your route model bindings, pattern filters, etc.
  28. *
  29. * @return void
  30. */
  31. public function boot()
  32. {
  33. $this->configureRateLimiting();
  34. $this->routes(function () {
  35. Route::middleware('web')
  36. ->group(base_path('routes/web.php'));
  37. Route::prefix('api')
  38. ->middleware('api')
  39. ->group(base_path('routes/api.php'));
  40. });
  41. }
  42. /**
  43. * Configure the rate limiters for the application.
  44. *
  45. * @return void
  46. */
  47. protected function configureRateLimiting()
  48. {
  49. RateLimiter::for('api', function (Request $request) {
  50. return Limit::perMinute(60);
  51. });
  52. }
  53. }