summaryrefslogtreecommitdiff
path: root/Year_3/TSDWL/LARAVEL/iBook/app/Providers/RouteServiceProvider.php
diff options
context:
space:
mode:
authorSanto Cariotti <santo@dcariotti.me>2022-01-24 19:34:26 +0100
committerSanto Cariotti <santo@dcariotti.me>2022-01-24 19:34:26 +0100
commit710f54c0156c5fa081bc6af1a68e7cb44723939b (patch)
tree056a85c362b7b9c5439506a76e0802e57342cc10 /Year_3/TSDWL/LARAVEL/iBook/app/Providers/RouteServiceProvider.php
parentb69d50c415ef1571bd42bb3eb1a1b3b38eab43dd (diff)
add example in laravel
Diffstat (limited to 'Year_3/TSDWL/LARAVEL/iBook/app/Providers/RouteServiceProvider.php')
-rw-r--r--Year_3/TSDWL/LARAVEL/iBook/app/Providers/RouteServiceProvider.php63
1 files changed, 63 insertions, 0 deletions
diff --git a/Year_3/TSDWL/LARAVEL/iBook/app/Providers/RouteServiceProvider.php b/Year_3/TSDWL/LARAVEL/iBook/app/Providers/RouteServiceProvider.php
new file mode 100644
index 0000000..3bd3c81
--- /dev/null
+++ b/Year_3/TSDWL/LARAVEL/iBook/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());
+ });
+ }
+}