🧱
Node.jsIntermediário 8 min

Middlewares em Node.js

Funções que sentam entre a requisição e a resposta. Autenticação, logs, tratamento de erros.

Middleware é uma função que recebe req, res e next. Pode modificar a requisição, responder, ou passar adiante.

Middleware de log

logger.js
function logger(req, res, next) {
  console.log(`${req.method} ${req.url}`);
  next(); // passa para o próximo
}

app.use(logger); // aplica em todas as rotas

Proteção de rota

javascript
function auth(req, res, next) {
  const token = req.headers.authorization;
  if (!token) return res.status(401).json({ erro: "Sem token" });
  // validar token...
  next();
}

app.get("/admin", auth, (req, res) => {
  res.json({ segredo: "área protegida" });
});

Esquecer de chamar next() deixa a requisição pendurada para sempre. Middleware que não responde nem chama next = requisição travada.