Skip to main content

Command Palette

Search for a command to run...

Middleware Basics

Published
2 min read
Middleware Basics

What is Middleware?

Middleware is a function that sits between the client request and the server response, allowing us to process requests before they reach the controller.

Think of middleware as a security guard at a building entrance—it checks IDs, ensures visitors are authorized, and only lets them through if they meet the criteria.

🔹 Key Responsibilities of Middleware:

Authentication – Verifies user identity (e.g., JWT tokens).

Authorization – Ensures the user has permission to access a resource.

Data Validation – Ensures requests contain valid data.

Logging & Monitoring – Tracks API calls for debugging.

Error Handling – Catches errors and provides meaningful responses.

How Middleware Works (Example in Express.js)

Middleware functions receive three parameters:

req (Request object)

res (Response object)

next (Function to pass control to the next middleware)

Example: Authentication Middleware

Using Middleware in Routes

Middleware is applied at the route level to control access.

Flow of Middleware Execution

To summarize, middleware intercepts requests before they reach the controller:

1️⃣ Request hits middleware → Processes request (auth, validation, etc.).
2️⃣ If valid → Calls next() to continue.
3️⃣ If invalid → Sends an error response (e.g., 401 Unauthorized).

🔹 Types of Middleware

Middleware comes in different types, each serving a specific purpose:

Application-Level Middleware – Applies to all or specific routes in an app (app.use()).
Route-Level Middleware – Used on specific routes (router.use()).
Error-Handling Middleware – Handles errors globally (app.use((err, req, res, next) => { ... })).
Third-Party Middleware – Provided by npm packages (e.g., body-parser, cors, morgan).

Middleware makes backend applications secure, efficient, and scalable! 🚀

Woah, you are all caught up! 😎