LLaraNode
Router Package

Route Middleware

Apply middleware to individual routes or groups.

Route Middleware

Apply middleware to individual routes or groups.

Route-Level Middleware

Route.get("/profile", UserController.profile).middleware("auth");

Route.get("/admin", AdminController.index).middleware(["auth", "admin"]);

Middleware with Parameters

Route.get("/api/data", DataController.index).middleware("throttle:60,1"); // 60 requests per minute

Group Middleware

Route.group(() => {
  Route.get("/users", UserController.index);
  Route.post("/users", UserController.store);
}).middleware("api");

Without Middleware

Route.group(() => {
  Route.get("/public", PublicController.index);
})
  .middleware("api")
  .withoutMiddleware("auth");

Registering Middleware Aliases

import { MiddlewareServiceProvider } from "@lara-node/core";

export class MiddlewareProvider extends MiddlewareServiceProvider {
  registerMiddleware() {
    return {
      aliases: {
        auth: AuthMiddleware,
        admin: AdminMiddleware,
        throttle: ThrottleMiddleware,
      },
      groups: {
        api: ["throttle:60,1", "auth"],
        web: ["session"],
      },
    };
  }
}

Next Steps