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 আপনাকে শক্তিশালী এবং সুরক্ষিত ওয়েব অ্যাপ্লিকেশনগুলিকে দক্ষতার সাথে তৈরি করার ক্ষমতা দেয়৷