Lesson 21 +10 XP

Third-Party Middleware (morgan, cors, helmet)

Industry Standard Third-Party Middleware

Production Express applications combine community open-source middleware packages available on npm.

Popular Middleware Packages

  1. morgan: HTTP request logger middleware for Node.js.
  2. cors: Enables Cross-Origin Resource Sharing with customizable header controls.
  3. helmet: Secures Express apps by setting various HTTP security headers.
  4. express-rate-limit: Basic rate-limiting middleware to prevent brute-force attacks.
const express = require("express");
const morgan = require("morgan");
const cors = require("cors");
const helmet = require("helmet");
const rateLimit = require("express-rate-limit");

const app = express();

// 1. Security Headers
app.use(helmet());

// 2. CORS configuration
app.use(cors({ origin: "https://myfrontend.com", methods: ["GET", "POST"] }));

// 3. Request Logging
app.use(morgan("dev"));

// 4. Rate Limiting (max 100 requests per 15 min window)
const limiter = rateLimit({
  windowMs: 15 * 60 * 1000,
  max: 100,
  message: { error: "Too many requests, please try again later." }
});
app.use("/api/", limiter);

TL;DR

  • Use helmet for HTTP security headers.
  • Use cors for cross-origin domain requests.
  • Use morgan for formatted request console logging.