LLaraNode
Middlewares Package

Built-in Middleware

LaraNode provides several pre-built middleware classes.

Built-in Middleware

LaraNode provides several pre-built middleware classes.

AuthMiddleware

Validates JWT tokens from the Authorization header:

import { AuthMiddleware } from "@lara-node/middlewares";

// Sets req.user with decoded token payload
Route.get("/profile", handler).middleware("auth");

RequestLoggerMiddleware

Logs each request with details:

import { RequestLoggerMiddleware } from "@lara-node/middlewares";

// Logs: method, URL, status, duration, IP, user

ValidatorMiddleware

Attaches req.validate() method:

import { ValidatorMiddleware } from "@lara-node/middlewares";

// In route handler
const data = req.validate({
  name: "required|string",
  email: "required|email",
});

ResponseExtenderMiddleware

Auto-serializes Model instances in res.json():

import { ResponseExtenderMiddleware } from "@lara-node/middlewares";

// Automatically calls toJSONAsync() on Model instances
res.json(user); // Serialized JSON

ErrorHandlerMiddleware

Handles errors and returns proper responses:

import { ErrorHandlerMiddleware } from "@lara-node/middlewares";

// Returns 422 for ValidationError
// Returns 500 for other errors

AsyncContextMiddleware

Sets up AsyncLocalStorage for request context:

import { AsyncContextMiddleware, asyncLocalStorage } from "@lara-node/middlewares";

// Access request context anywhere
const store = asyncLocalStorage.getStore();

Next Steps