Middleware
Express & APIs
Preview
Middleware
Middleware is a function that runs between the request arriving and your route handler, optionally passing control on with next().
function logger(req, res, next) {\n console.log(`${req.method} ${req.url}`);\n next();\n}\n\napp.use(logger); // every request\napp.use("/api", logger); // only /api requestsThe chain
request → logger → auth → route handler → response\n ↑\n next() moves onAuth middleware
function requireAuth(req, res, next) {\n const token = req.headers.authorization?.replace("Bearer ", "");\n const user = verifyToken(token);\n if (!user) return res.status(401).json({ error: "Unauthorized" });\n req.user = user; // attach for the handler\n next();\n}\n\napp.get("/profile", requireAuth, (req, res) => {\n res.json({ user: req.user });\n});Error-handling middleware
function errorHandler(err, req, res, next) {\n console.error(err);\n res.status(500).json({ error: "Internal error" });\n}\napp.use(errorHandler); // must be registered lastBuilt-in & third-party
app.use(express.json()); // body parser\napp.use(cors()); // cross-origin\napp.use(express.static("public")); // serve filesTip: Order matters: middleware runs in registration order. Error handlers go last, with a 4-argument signature.
This is a free preview lesson
Enroll in the Node.js Backend Development to unlock every lesson, lesson PDF guides, quizzes and your certificate - and start creating your own pieces today.