אפשר להכניס ערך עם middleware ב node.js/express?
-
יש לי middleware בכניסה לראוטר מסוים ואני רוצה לבדוק כל בקשה ולשייך אותה לחוג מסוים,
(רק בשביל הדוגמא, זה יכול להיות עוד הרבה דברים כגון לבדוק הרשאות וכדו'),
ולאחר הבדיקה לפני שהבקשה ממשיכה לרוץ אני רוצה להוסיף לה כל מיני ערכים באיזה מתודה אני מכניס, אם קיים בכלל?[יותר ברור: אני רוצה בהמשך להיכנס למשתנה בתוך הבקשה וליראות את מה שהmiddleware הכניס לו כשהוא נכנס לשרת/ראוטר]?
האם אפשר/נכון להכניס בresponse ואחרי שאני מחזיר את הערך האמיתי אני ידרוס אותו?
-
@avi-rz אמר באפשר להכניס ערך עם middleware ב node.js/express?:
האם אפשר/נכון להכניס בresponse ואחרי שאני מחזיר את הערך האמיתי אני ידרוס אותו?
לא.
אתה פשוט מוסיף את הערך שאתה רוצה לאובייקט ה-request
.const app = require('express')(); const middleware = (req, res, next) => { if (Object.keys(req.query).includes('foo')) { console.log('foo category'); req.category = 'foo category'; } next(); }; app.use(middleware); app.get('/*', (req, res) => { if (req.category === 'foo category') { res.send('foo category'); } }); app.listen(3000);