Contenu du cours
Développement Backend Avec Node.js et Express.js
Développement Backend Avec Node.js et Express.js
Middleware
🤔 Comprendre le Middleware
Le middleware nous permet de traiter les requêtes avant qu'elles n'atteignent les gestionnaires de routes. Il agit comme un filtre pour les requêtes entrantes, offrant un moyen d'effectuer diverses tâches dans le cycle de requête-réponse. Les fonctions middleware prennent trois arguments : un objet requête (req
), un objet réponse (res
), et une fonction next
, qui est utilisée pour passer le contrôle au middleware suivant dans le pipeline.
Imaginez un tuyau d'eau à travers lequel l'eau s'écoule. L'eau est pompée à travers une extrémité du tuyau et passe à travers des manomètres et des vannes, notre middleware, avant d'atteindre sa destination - notre verre. Le point crucial de cette analogie est que l'ordre de ces manomètres et vannes est important.
De la même manière, les fonctions middleware dans Express.js sont exécutées dans un ordre spécifique, rendant l'ordre d'enregistrement des middleware crucial pour la fonctionnalité de notre application.
🏃♂️ Middleware en Action
Intégrons notre propre middleware dans notre application avant d'appeler une route.
Cette fonction ne fait rien, elle ne fait que passer le flux à travers elle-même, mais notre message apparaîtra toujours dans la console.
Cette fonction n'effectue aucune tâche spécifique ; elle passe simplement le flux à travers elle-même. Cependant, elle sert à illustrer comment le middleware fonctionne dans le pipeline d'Express.js. Dans cet exemple, chaque fois qu'une requête est faite à notre application Express.js, Our middleware
sera enregistré dans la console.
🛤️ Objectif du Middleware
Le middleware peut servir à divers objectifs dans une application Express.js, y compris :
- Journalisation : Le middleware peut enregistrer les détails des requêtes comme la méthode HTTP, l'URL et l'horodatage, fournissant un aperçu du trafic que votre serveur gère ;
- Authentification : Le middleware peut vérifier si un utilisateur est authentifié avant de permettre l'accès à certaines routes. Cela est souvent utilisé pour protéger les parties sensibles de votre application ;
- Validation : Le middleware peut valider les données de la requête avant de les traiter. Par exemple, il peut vérifier si les données envoyées dans une requête POST sont au bon format ;
- Gestion des erreurs : Le middleware peut capturer et gérer les erreurs qui surviennent lors du traitement des requêtes. Cela garantit que votre application ne plante pas lorsque des problèmes inattendus surviennent ;
- CORS (Cross-Origin Resource Sharing) : Le middleware peut ajouter des en-têtes CORS aux réponses, permettant ou refusant les requêtes provenant de différents domaines. Cela est essentiel pour sécuriser vos API et permettre l'accès depuis des pages web hébergées sur des origines différentes.
Merci pour vos commentaires !