Middleware Pattern
JavaScript 🟡 MidType : 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.