Response Status এবং Headers সেট করা

KoaJS এর Context (ctx) এবং Request/Response Object - কোআজেএস (KoaJS) - Web Development

220

KoaJS-এ HTTP রেসপন্সের status code এবং headers নির্ধারণ করা সহজ। KoaJS-এ, আপনি ctx.status ব্যবহার করে রেসপন্সের স্ট্যাটাস কোড সেট করতে পারেন এবং ctx.set() বা ctx.headers ব্যবহার করে হেডার সেট করতে পারেন। এই পদ্ধতিগুলো HTTP রেসপন্স কাস্টমাইজ করতে এবং সার্ভারের আচরণ নিয়ন্ত্রণ করতে সাহায্য করে।


Response Status কোড সেট করা

HTTP স্ট্যাটাস কোড রেসপন্সের গুরুত্বপূর্ন অংশ। এটি ক্লায়েন্টকে জানায় যে তাদের রিকোয়েস্ট সফল ছিল কিনা বা কোন ত্রুটি ঘটেছে। KoaJS-এ রেসপন্স স্ট্যাটাস কোড সেট করা খুবই সহজ। ctx.status এর মাধ্যমে আপনি এটি সেট করতে পারেন।

১. স্ট্যাটাস কোড সেট করা

কোনও রিকোয়েস্ট হ্যান্ডলারের মধ্যে, আপনি ctx.status দিয়ে রেসপন্স স্ট্যাটাস কোড নির্ধারণ করতে পারেন।

const Koa = require('koa');
const app = new Koa();

app.use(async (ctx) => {
  ctx.status = 200;  // স্ট্যাটাস কোড 200, অর্থাৎ "OK"
  ctx.body = 'Hello, this is a successful response!';
});

app.listen(3000, () => {
  console.log('Server is running on http://localhost:3000');
});

এখানে, আমরা স্ট্যাটাস কোড হিসেবে 200 (OK) সেট করেছি, যা সফল রেসপন্স বোঝায়।

২. অন্য স্ট্যাটাস কোড ব্যবহার করা

কোনও রিকোয়েস্টে ত্রুটি হলে আপনি অন্য স্ট্যাটাস কোডও সেট করতে পারেন, যেমন 404 (Not Found) বা 500 (Internal Server Error)।

app.use(async (ctx) => {
  ctx.status = 404;  // স্ট্যাটাস কোড 404, অর্থাৎ "Not Found"
  ctx.body = 'Page not found!';
});

এটি একটি 404 ত্রুটি রেসপন্স দিবে যদি সেই পেজ না পাওয়া যায়।


Response Headers সেট করা

KoaJS-এ HTTP রেসপন্সের হেডার সেট করতে ctx.set() ব্যবহার করা হয়। আপনি এই মেথড দিয়ে একাধিক হেডার সেট করতে পারেন। ctx.set() ব্যবহার করে সাধারণভাবে স্ট্যাটাস কোড, কুকি, কনটেন্ট টাইপ ইত্যাদি হেডার যুক্ত করা যায়।

১. Header সেট করা

যেমন, আপনি Content-Type বা X-Powered-By হেডার সেট করতে পারেন:

app.use(async (ctx) => {
  ctx.status = 200;
  ctx.set('Content-Type', 'application/json');
  ctx.body = JSON.stringify({ message: 'Hello, Koa!' });
});

এখানে, Content-Type হেডার application/json সেট করা হয়েছে, যা ক্লায়েন্টকে জানাবে যে রেসপন্স JSON ফরম্যাটে রয়েছে।

২. একাধিক Header সেট করা

আপনি একাধিক হেডারও সেট করতে পারেন। উদাহরণস্বরূপ:

app.use(async (ctx) => {
  ctx.status = 200;
  ctx.set('Content-Type', 'application/json');
  ctx.set('X-Powered-By', 'KoaJS');
  ctx.set('Cache-Control', 'no-cache');
  ctx.body = JSON.stringify({ message: 'Headers Set Successfully!' });
});

এখানে তিনটি হেডার সেট করা হয়েছে:

  1. Content-Type: রেসপন্সের কনটেন্ট টাইপ নির্ধারণ করছে।
  2. X-Powered-By: সার্ভারের তথ্য প্রদান করছে (এখানে KoaJS ব্যবহার করা হয়েছে)।
  3. Cache-Control: কনটেন্ট ক্যাশিং নিয়ন্ত্রণ করছে, যাতে এটি ক্যাশ না হয়।

৩. কুকি সেট করা

KoaJS-এ কুকি সেট করতে ctx.cookies.set() ব্যবহার করা হয়।

app.use(async (ctx) => {
  ctx.status = 200;
  ctx.cookies.set('username', 'john_doe', {
    httpOnly: true, // শুধুমাত্র HTTP রিকোয়েস্টের মাধ্যমে অ্যাক্সেসযোগ্য
    secure: false,  // HTTPS ব্যবহৃত না হলে এটি true হতে পারে না
  });
  ctx.body = 'Cookie has been set';
});

এখানে, কুকি username সেট করা হচ্ছে। কুকিটি শুধুমাত্র HTTP রিকোয়েস্টে অ্যাক্সেসযোগ্য হবে (সিকিউর কুকি) এবং এটি নিরাপদ নয় (কেবল HTTP প্রটোকলের মাধ্যমে সেট করা যাবে, HTTPS প্রোটোকলে).


সারাংশ

KoaJS-এ HTTP রেসপন্সের status code এবং headers সেট করা অত্যন্ত সহজ। ctx.status দিয়ে আপনি স্ট্যাটাস কোড নির্ধারণ করতে পারেন, এবং ctx.set() দিয়ে বিভিন্ন হেডার যেমন Content-Type, Cache-Control, বা X-Powered-By সেট করতে পারেন। কুকি সেট করতে ctx.cookies.set() ব্যবহার করা হয়। এই উপায়গুলোর মাধ্যমে আপনি আপনার রেসপন্সের কনফিগারেশন সম্পূর্ণভাবে নিয়ন্ত্রণ করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...