aboutsummaryrefslogtreecommitdiff
path: root/app/Providers/RouteServiceProvider.php
diff options
context:
space:
mode:
authorPatrick Spek <p.spek@tyil.nl>2023-06-04 13:19:44 +0200
committerPatrick Spek <p.spek@tyil.nl>2023-06-04 13:19:44 +0200
commitdd66a8e2fbe60c18123dd7245ca68b367367a81c (patch)
tree2e43ccdf89653f8d57beff1cee578498fcd4d851 /app/Providers/RouteServiceProvider.php
Initial commitHEADmaster
Diffstat (limited to 'app/Providers/RouteServiceProvider.php')
-rw-r--r--app/Providers/RouteServiceProvider.php63
1 files changed, 63 insertions, 0 deletions
diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php
new file mode 100644
index 0000000..3bd3c81
--- /dev/null
+++ b/app/Providers/RouteServiceProvider.php
@@ -0,0 +1,63 @@
+<?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 the "home" route for your application.
+ *
+ * This is used by Laravel authentication to redirect users after login.
+ *
+ * @var string
+ */
+ public const HOME = '/home';
+
+ /**
+ * The controller namespace for the application.
+ *
+ * When present, controller route declarations will automatically be prefixed with this namespace.
+ *
+ * @var string|null
+ */
+ // protected $namespace = 'App\\Http\\Controllers';
+
+ /**
+ * Define your route model bindings, pattern filters, etc.
+ *
+ * @return void
+ */
+ public function boot()
+ {
+ $this->configureRateLimiting();
+
+ $this->routes(function () {
+ Route::prefix('api')
+ ->middleware('api')
+ ->namespace($this->namespace)
+ ->group(base_path('routes/api.php'));
+
+ Route::middleware('web')
+ ->namespace($this->namespace)
+ ->group(base_path('routes/web.php'));
+ });
+ }
+
+ /**
+ * Configure the rate limiters for the application.
+ *
+ * @return void
+ */
+ protected function configureRateLimiting()
+ {
+ RateLimiter::for('api', function (Request $request) {
+ return Limit::perMinute(60)->by(optional($request->user())->id ?: $request->ip());
+ });
+ }
+}