Sofiane Boumedine Lexique Dev

Middleware Pattern

JavaScript 🟡 Mid

Type : Pattern

Definition

Le middleware pattern chaine des fonctions qui traitent une requete sequentiellement. Chaque middleware peut modifier la requete/reponse, court-circuiter la chaine ou passer au suivant via next().

Analogie

Les controles de securite a l'aeroport : identite, bagages, scanner. Chaque poste peut te laisser passer (next) ou t'arreter.

Exemple de code

function compose(...middlewares) {
  return (ctx) => {
    const run = (i) => middlewares[i]?.(ctx, () => run(i + 1));
    run(0);
  };
}
const app = compose(
  (ctx, next) => { ctx.start = Date.now(); next(); },
  (ctx) => { console.log(class="str">`Done in ${Date.now() - ctx.start}ms`); }
);

Cas d'usage

Structurer le pipeline de traitement HTTP dans Express, Koa ou un serveur custom.

patterninterview-question