Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

55 lines
1.6KB

  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. * Typically, users are redirected here after authentication.
  14. *
  15. * @var string
  16. */
  17. public const HOME = '/home';
  18. /**
  19. * Define your route model bindings, pattern filters, and other route configuration.
  20. */
  21. public function boot(): void
  22. {
  23. $this->configureRateLimiting();
  24. $this->routes(function () {
  25. Route::middleware('web')
  26. ->prefix('api')
  27. ->group(base_path('routes/api.php'));
  28. Route::middleware('api')
  29. ->prefix('api-from-kintone')
  30. ->group(base_path('routes/apiFromKintone.php'));
  31. Route::middleware('web')
  32. ->group(base_path('routes/web.php'));
  33. });
  34. }
  35. /**
  36. * Configure the rate limiters for the application.
  37. */
  38. protected function configureRateLimiting(): void
  39. {
  40. RateLimiter::for('api', function (Request $request) {
  41. return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
  42. });
  43. RateLimiter::for('web', function (Request $request) {
  44. return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
  45. });
  46. }
  47. }