toby/app/Providers/RouteServiceProvider.php
Adrian Hopek 8f5f2b88f0
#1 - project skeleton (#7)
* #1 - project skeleton

* #1 - composer fix

* #1 - add app key to phpunit config

* #1 - change default session driver

* #1 - add EXTERNAL_WEBSERVER_PORT variable to .env.example
2022-01-10 13:28:18 +01:00

36 lines
941 B
PHP

<?php
declare(strict_types=1);
namespace Toby\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
{
public const HOME = "/home";
public function boot(): void
{
$this->configureRateLimiting();
$this->routes(function (): void {
Route::prefix("api")
->middleware("api")
->group(base_path("routes/api.php"));
Route::middleware("web")
->group(base_path("routes/web.php"));
});
}
protected function configureRateLimiting(): void
{
RateLimiter::for("api", fn(Request $request) => Limit::perMinute(60)->by(optional($request->user())->id ?: $request->ip()));
}
}