Middleware میں Express.js: انٹرمیڈیٹ کی درخواست کو ہینڈل کرنا

Middleware میں کا تعارف Express.js

Middleware in Express.js ایک طاقتور تصور ہے جو آپ کو درخواست کے جواب کے لائف سائیکل کے دوران ایک مخصوص ترتیب میں افعال کو انجام دینے کی اجازت دیتا ہے۔ یہ فنکشن مختلف کام انجام دے سکتے ہیں جیسے توثیق، لاگنگ، ڈیٹا کی توثیق، اور بہت کچھ۔ Middleware فنکشنز کو ترتیب وار عمل میں لایا جاتا ہے، اور ہر ایک کو اور آبجیکٹ کے ساتھ ساتھ فنکشن middleware تک رسائی حاصل ہوتی ہے ، جو اسٹیک میں اگلے کو کنٹرول کرتا ہے ۔ request response next middleware

کیوں استعمال کریں Middleware ؟

Middleware آپ کی ایپلیکیشن کی فعالیت کو ماڈیولرائز کرنے اور اس کی برقراری کو بڑھانے کے لیے ضروری ہے۔ یہ آپ کو اپنے روٹ ہینڈلرز کو صاف ستھرا رکھنے اور مخصوص کاموں پر توجہ مرکوز رکھنے کے قابل بناتا ہے جبکہ عام یا کراس کٹنگ خدشات کو middleware فنکشنز میں اتارتے ہیں۔ خدشات کی یہ علیحدگی کوڈ کے دوبارہ استعمال کو فروغ دیتی ہے اور آپ کے کوڈبیس کو مزید منظم بناتی ہے۔

بنانا اور استعمال کرنا Middleware

middleware میں بنانے کے لیے Express.js ، آپ ایک فنکشن کی وضاحت کرتے ہیں جو تین پیرامیٹرز لیتا ہے: request, response, اور next.

یہاں middleware ہر آنے والی درخواست کو لاگ کرنے کی ایک بنیادی مثال ہے:

const logMiddleware =(req, res, next) => {  
  console.log(`Received a ${req.method} request at ${req.url}`);  
  next(); // Pass control to the next middleware  
};  
  
app.use(logMiddleware);  

آپ تمام راستوں پر عالمی سطح پر app.use() لاگو کرنے کے لیے طریقہ استعمال کر سکتے ہیں، یا آپ اسے مخصوص راستوں کے لیے منتخب طور پر استعمال کر سکتے ہیں۔ middleware

Middleware پھانسی کا حکم

Middleware فنکشنز کو اس ترتیب سے عمل میں لایا جاتا ہے جس ترتیب سے ان کی تعریف کی جاتی ہے app.use() ۔

مثال کے طور پر:

app.use(middleware1);  
app.use(middleware2);  

اس صورت میں، تمام آنے والی درخواستوں کے لیے middleware1 اس سے پہلے عمل میں لایا جائے گا ۔ middleware2

میں غلطیوں کو ہینڈل کرنا Middleware

اگر کسی middleware فنکشن کے اندر کوئی خرابی واقع ہوتی ہے، تو آپ اس غلطی کو next فنکشن میں منتقل کر سکتے ہیں، اور Express.js خود بخود ایرر ہینڈلنگ پر چلے جائیں گے middleware ۔

یہاں ایک مثال ہے:

const errorMiddleware =(err, req, res, next) => {  
  console.error(err);  
  res.status(500).send('Something went wrong!');  
};  
  
app.use(errorMiddleware);  

Middleware تصدیق کے لیے استعمال کرنا

Middleware عام طور پر ویب ایپلی کیشنز میں تصدیق اور اجازت کے نفاذ کے لیے استعمال کیا جاتا ہے۔ مثال کے طور پر، آپ ایک ایسا فنکشن بنا سکتے ہیں middleware جو چیک کرتا ہے کہ آیا صارف کو مخصوص راستوں تک رسائی کی اجازت دینے سے پہلے تصدیق شدہ ہے:

const authenticateMiddleware =(req, res, next) => {  
  if(req.isAuthenticated()) {  
    return next(); // User is authenticated, proceed to the next middleware  
  }  
  res.redirect('/login'); // User is not authenticated, redirect to login page  
};  
  
app.get('/profile', authenticateMiddleware,(req, res) => {  
  res.send('Welcome to your profile!');  
});  

 

نتیجہ

Middleware in Express.js آپ کی ویب ایپلیکیشنز کی فعالیت کو منظم کرنے اور بڑھانے کے لیے ایک اہم ٹول ہے۔ middleware دوبارہ قابل استعمال فنکشنز بنا کر ، آپ اپنے کوڈ کو ہموار کر سکتے ہیں، خدشات کو ماڈیولرائز کر سکتے ہیں، اور اپنے پروجیکٹس کی مجموعی دیکھ بھال کو بہتر بنا سکتے ہیں۔ توثیق کو سنبھالنے سے لے کر لاگنگ اور ایرر مینجمنٹ تک، middleware آپ کو مضبوط اور محفوظ ویب ایپلیکیشنز کو مؤثر طریقے سے بنانے کا اختیار دیتا ہے۔