Просмотр файла app/Providers/RouteServiceProvider.php

Размер файла: 1.64Kb
  1. <?php
  2.  
  3. namespace App\Providers;
  4.  
  5. use Illuminate\Cache\RateLimiting\Limit;
  6. use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
  7. use Illuminate\Http\Request;
  8. use Illuminate\Support\Facades\RateLimiter;
  9. use Illuminate\Support\Facades\Route;
  10.  
  11. class RouteServiceProvider extends ServiceProvider
  12. {
  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 string
  19. */
  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|null
  28. */
  29. // protected $namespace = 'App\\Http\\Controllers';
  30.  
  31. /**
  32. * Define your route model bindings, pattern filters, etc.
  33. *
  34. * @return void
  35. */
  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 void
  56. */
  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. }