chrome.declarativeWebRequest

বর্ণনা

দ্রষ্টব্য: এই API-টি এখন আর ব্যবহার করা হয় না। এর পরিবর্তে declarativeNetRequest API-টি দেখুন। চলমান অবস্থায় থাকা রিকোয়েস্ট আটকাতে, ব্লক করতে বা পরিবর্তন করতে chrome.declarativeWebRequest API-টি ব্যবহার করুন। এটি chrome.webRequest API-এর চেয়ে উল্লেখযোগ্যভাবে দ্রুততর, কারণ এতে এমন নিয়ম রেজিস্টার করা যায় যা জাভাস্ক্রিপ্ট ইঞ্জিনের পরিবর্তে ব্রাউজারে মূল্যায়ন করা হয়, যা রাউন্ডট্রিপ ল্যাটেন্সি কমায় এবং অধিক কার্যকারিতা নিশ্চিত করে।

অনুমতি

declarativeWebRequest

এই এপিআইটি ব্যবহার করার জন্য, হোস্ট পারমিশনের পাশাপাশি আপনাকে এক্সটেনশন ম্যানিফেস্টে অবশ্যই "declarativeWebRequest" পারমিশনটি ঘোষণা করতে হবে।

{
  "name": "My extension",
  ...
  "permissions": [
    "declarativeWebRequest",
    "*://*/*"
  ],
  ...
}

প্রাপ্যতা

বিটা চ্যানেল ≤ এমভি২

প্রকাশ

মনে রাখবেন যে কিছু নির্দিষ্ট ধরণের অসংবেদনশীল কাজের জন্য হোস্ট অনুমতির প্রয়োজন হয় না:

  • CancelRequest
  • IgnoreRules
  • RedirectToEmptyDocument
  • RedirectToTransparentImage

SendMessageToExtension() অ্যাকশনটির জন্য সেই সমস্ত হোস্টের হোস্ট পারমিশন প্রয়োজন, যাদের নেটওয়ার্ক রিকোয়েস্টের জন্য আপনি একটি মেসেজ ট্রিগার করতে চান।

অন্যান্য সকল কাজের জন্য সমস্ত ইউআরএল-এ হোস্ট পারমিশন প্রয়োজন।

উদাহরণস্বরূপ, যদি কোনো এক্সটেনশনের একমাত্র হোস্ট পারমিশন "https://*.google.com/*" হয়, তাহলে সেই এক্সটেনশনটি নিম্নলিখিত নিয়মটি সেট করতে পারে:

  • https://www.google.com অথবা https://anything.else.com এ পাঠানো অনুরোধ বাতিল করুন।
  • https://www.google.com এ নেভিগেট করার সময় একটি বার্তা পাঠান, কিন্তু https://something.else.com এ নেভিগেট করার সময় নয়।

এক্সটেনশনটি https://www.google.com কে https://mail.google.com এ পুনঃনির্দেশ করার জন্য কোনো নিয়ম সেট করতে পারছে না।

নিয়ম

ডিক্লারেটিভ ওয়েব রিকোয়েস্ট এপিআই, ডিক্লারেটিভ এপিআই- এর ধারণাগুলো অনুসরণ করে। আপনি chrome.declarativeWebRequest.onRequest ইভেন্ট অবজেক্টে নিয়মগুলো নিবন্ধন করতে পারেন।

ডিক্লারেটিভ ওয়েব রিকোয়েস্ট এপিআই (Declarative Web Request API) শুধুমাত্র এক ধরনের ম্যাচ ক্রাইটেরিয়া, অর্থাৎ RequestMatcher ) সমর্থন করে। RequestMatcher নেটওয়ার্ক রিকোয়েস্টগুলোকে তখনই ম্যাচ করে, যখন তালিকাভুক্ত সমস্ত ক্রাইটেরিয়া পূরণ হয়। ব্যবহারকারী যখন অমনিবক্সে (omnibox) https://www.example.com প্রবেশ করান, তখন নিম্নলিখিত RequestMatcher একটি নেটওয়ার্ক রিকোয়েস্টের সাথে ম্যাচ করবে:

var matcher = new chrome.declarativeWebRequest.RequestMatcher({
  url: { hostSuffix: 'example.com', schemes: ['http'] },
  resourceType: ['main_frame']
});

স্কিমের কারণে RequestMatcher দ্বারা https://www.example.com এ করা অনুরোধগুলো প্রত্যাখ্যাত হবে। এছাড়াও, resourceType কারণে একটি এমবেডেড আইফ্রেমের জন্য করা সমস্ত অনুরোধ প্রত্যাখ্যাত হবে।

'example.com'-এ পাঠানো সমস্ত অনুরোধ বাতিল করতে, আপনি নিম্নলিখিতভাবে একটি নিয়ম নির্ধারণ করতে পারেন:

var rule = {
  conditions: [
    new chrome.declarativeWebRequest.RequestMatcher({
      url: { hostSuffix: 'example.com' } })
  ],
  actions: [
    new chrome.declarativeWebRequest.CancelRequest()
  ]
};

example.com এবং foobar.com এ পাঠানো সমস্ত অনুরোধ বাতিল করতে, আপনি একটি দ্বিতীয় শর্ত যোগ করতে পারেন, কারণ প্রতিটি শর্তই নির্দিষ্ট সমস্ত কার্যক্রম চালু করার জন্য যথেষ্ট:

var rule2 = {
  conditions: [
    new chrome.declarativeWebRequest.RequestMatcher({
      url: { hostSuffix: 'example.com' } }),
    new chrome.declarativeWebRequest.RequestMatcher({
      url: { hostSuffix: 'foobar.com' } })
  ],
  actions: [
    new chrome.declarativeWebRequest.CancelRequest()
  ]
};

নিবন্ধনের নিয়মাবলী নিম্নরূপ:

chrome.declarativeWebRequest.onRequest.addRules([rule2]);

পরিস্থিতি ও কর্মকাণ্ডের মূল্যায়ন

ডিক্লারেটিভ ওয়েব রিকোয়েস্ট এপিআই, ওয়েব রিকোয়েস্ট এপিআই -এর ওয়েব রিকোয়েস্টের লাইফ সাইকেল মডেল অনুসরণ করে। এর মানে হলো, একটি ওয়েব রিকোয়েস্টের শুধুমাত্র নির্দিষ্ট পর্যায়েই শর্তগুলো পরীক্ষা করা যায় এবং একইভাবে, অ্যাকশনগুলোও শুধুমাত্র নির্দিষ্ট পর্যায়েই সম্পাদন করা যায়। নিচের সারণিগুলোতে সেই রিকোয়েস্ট পর্যায়গুলোর তালিকা দেওয়া হলো যেগুলো শর্ত এবং অ্যাকশনের সাথে সামঞ্জস্যপূর্ণ।

অনুরোধের পর্যায়সমূহ, যেগুলোর সময় শর্তের বৈশিষ্ট্যগুলো প্রক্রিয়াজাত করা যেতে পারে।
শর্ত বৈশিষ্ট্য অনুরোধের পূর্বে onBeforeSendHeaders onHeadersReceived onAuthRequired
url
resourceType
contentType
excludeContentType
responseHeaders
excludeResponseHeaders
requestHeaders
excludeRequestHeaders
thirdPartyForCookies
অনুরোধের পর্যায়গুলো উল্লেখ করুন, যেগুলোর মধ্যে কার্যক্রম সম্পাদন করা যেতে পারে।
অনুষ্ঠান অনুরোধের পূর্বে onBeforeSendHeaders onHeadersReceived onAuthRequired
AddRequestCookie
AddResponseCookie
AddResponseHeader
CancelRequest
EditRequestCookie
EditResponseCookie
IgnoreRules
RedirectByRegEx
RedirectRequest
RedirectToEmptyDocument
RedirectToTransparentImage
RemoveRequestCookie
RemoveRequestHeader
RemoveResponseCookie
RemoveResponseHeader
SendMessageToExtension
SetRequestHeader

নিয়মগুলোকে অগ্রাহ্য করতে অগ্রাধিকার ব্যবহার করুন

ইভেন্টস এপিআই- তে বর্ণিত পদ্ধতি অনুযায়ী নিয়মগুলোকে অগ্রাধিকারের সাথে যুক্ত করা যায়। এই পদ্ধতিটি ব্যতিক্রম প্রকাশ করতে ব্যবহার করা যেতে পারে। নিম্নলিখিত উদাহরণটি 'myserver.com' সার্ভার ছাড়া অন্য সব সার্ভারে evil.jpg নামের ছবির জন্য করা সমস্ত অনুরোধ ব্লক করে দেয়।

var rule1 = {
  priority: 100,
  conditions: [
    new chrome.declarativeWebRequest.RequestMatcher({
        url: { pathEquals: 'evil.jpg' } })
  ],
  actions: [
    new chrome.declarativeWebRequest.CancelRequest()
  ]
};
var rule2 = {
  priority: 1000,
  conditions: [
    new chrome.declarativeWebRequest.RequestMatcher({
      url: { hostSuffix: '.myserver.com' } })
  ],
  actions: [
    new chrome.declarativeWebRequest.IgnoreRules({
      lowerPriorityThan: 1000 })
  ]
};
chrome.declarativeWebRequest.onRequest.addRules([rule1, rule2]);

এটা মনে রাখা গুরুত্বপূর্ণ যে IgnoreRules অ্যাকশনটি রিকোয়েস্টের বিভিন্ন পর্যায়ে স্থায়ী থাকে না। একটি ওয়েব রিকোয়েস্টের প্রতিটি পর্যায়ে সমস্ত নিয়মের সমস্ত শর্ত মূল্যায়ন করা হয়। যদি একটি IgnoreRules অ্যাকশন কার্যকর করা হয়, তবে এটি শুধুমাত্র একই ওয়েব রিকোয়েস্টের জন্য একই পর্যায়ে কার্যকর হওয়া অন্যান্য অ্যাকশনগুলোর ক্ষেত্রেই প্রযোজ্য হয়।

প্রকারভেদ

AddRequestCookie

অনুরোধে একটি কুকি যোগ করে অথবা, একই নামের অন্য কোনো কুকি আগে থেকেই বিদ্যমান থাকলে, সেটিকে ওভাররাইড করে। উল্লেখ্য যে, কুকিজ এপিআই (Cookies API) ব্যবহার করা শ্রেয়, কারণ এটি গণনাগতভাবে কম ব্যয়বহুল।

বৈশিষ্ট্য

AddResponseCookie

রেসপন্সে একটি কুকি যোগ করে অথবা, একই নামের অন্য কোনো কুকি আগে থেকেই বিদ্যমান থাকলে, সেটিকে ওভাররাইড করে। উল্লেখ্য যে, কুকিজ এপিআই (Cookies API) ব্যবহার করা শ্রেয়, কারণ এটি কম্পিউটেশনালি কম ব্যয়বহুল।

বৈশিষ্ট্য

AddResponseHeader

এই ওয়েব অনুরোধের প্রতিক্রিয়ায় রেসপন্স হেডারটি যোগ করে। যেহেতু একাধিক রেসপন্স হেডারের নাম একই হতে পারে, তাই একটিকে প্রতিস্থাপন করার জন্য আপনাকে প্রথমে আগেরটি সরাতে হবে এবং তারপরে একটি নতুন রেসপন্স হেডার যোগ করতে হবে।

বৈশিষ্ট্য

CancelRequest

ঘোষণামূলক ইভেন্ট অ্যাকশন যা একটি নেটওয়ার্ক অনুরোধ বাতিল করে।

বৈশিষ্ট্য

EditRequestCookie

অনুরোধের এক বা একাধিক কুকি সম্পাদনা করে। উল্লেখ্য যে, কুকি এপিআই (Cookies API) ব্যবহার করা শ্রেয়, কারণ এটি গণনাগতভাবে কম ব্যয়বহুল।

বৈশিষ্ট্য

  • নির্মাতা

    শূন্যতা

    constructor ফাংশনটি দেখতে এইরকম:

    (arg: EditRequestCookie) => {...}

  • ফিল্টার

    যে কুকিগুলো পরিবর্তন করা হবে, সেগুলো ফিল্টার করুন। সমস্ত খালি এন্ট্রি উপেক্ষা করা হয়।

  • পরিবর্তন

    ফিল্টারের সাথে মিলে যাওয়া কুকিগুলিতে যে অ্যাট্রিবিউটগুলি ওভাররাইড করা হবে। যে অ্যাট্রিবিউটগুলি খালি স্ট্রিং হিসাবে সেট করা আছে, সেগুলি মুছে ফেলা হয়।

EditResponseCookie

রেসপন্সের এক বা একাধিক কুকি সম্পাদনা করে। উল্লেখ্য যে, কুকি এপিআই (Cookies API) ব্যবহার করা শ্রেয়, কারণ এটি গণনাগতভাবে কম ব্যয়বহুল।

বৈশিষ্ট্য

FilterResponseCookie

HTTP রেসপন্সে কুকির একটি ফিল্টার।

বৈশিষ্ট্য

  • ageLowerBound

    সংখ্যা ঐচ্ছিক

    কুকির জীবনকালের অন্তর্ভুক্তিমূলক সর্বনিম্ন সীমা (বর্তমান সময়ের পর সেকেন্ডে নির্দিষ্ট)। শুধুমাত্র সেইসব কুকিই এই মানদণ্ড পূরণ করে, যাদের মেয়াদ শেষ হওয়ার তারিখ-সময় 'now + ageLowerBound' বা তার পরে সেট করা থাকে। সেশন কুকি এই ফিল্টারের মানদণ্ড পূরণ করে না। কুকির জীবনকাল 'max-age' অথবা 'expires' কুকি অ্যাট্রিবিউট থেকে গণনা করা হয়। যদি উভয়ই নির্দিষ্ট করা থাকে, তবে কুকির জীবনকাল গণনা করার জন্য 'max-age' ব্যবহার করা হয়।

  • ageUpperBound

    সংখ্যা ঐচ্ছিক

    কুকির জীবনকালের ঊর্ধ্বসীমা (বর্তমান সময়ের পর সেকেন্ডে নির্দিষ্ট)। শুধুমাত্র সেইসব কুকিই এই শর্ত পূরণ করে, যাদের মেয়াদ শেষ হওয়ার তারিখ-সময় [এখন, এখন + ageUpperBound] ব্যবধির মধ্যে থাকে। সেশন কুকি এবং যেসব কুকির মেয়াদ শেষ হওয়ার তারিখ-সময় অতীতে, সেগুলো এই ফিল্টারের শর্ত পূরণ করে না। কুকির জীবনকাল 'max-age' অথবা 'expires' কুকি অ্যাট্রিবিউট থেকে গণনা করা হয়। যদি উভয়ই নির্দিষ্ট করা থাকে, তবে কুকির জীবনকাল গণনা করার জন্য 'max-age' ব্যবহার করা হয়।

  • ডোমেইন

    স্ট্রিং ঐচ্ছিক

    ডোমেইন কুকি অ্যাট্রিবিউটের মান।

  • মেয়াদ শেষ হয়ে যায়

    স্ট্রিং ঐচ্ছিক

    Expires কুকি অ্যাট্রিবিউটের মান।

  • httpOnly

    স্ট্রিং ঐচ্ছিক

    HttpOnly কুকি অ্যাট্রিবিউটের অস্তিত্ব।

  • সর্বোচ্চ বয়স

    সংখ্যা ঐচ্ছিক

    Max-Age কুকি অ্যাট্রিবিউটের মান

  • নাম

    স্ট্রিং ঐচ্ছিক

    একটি কুকির নাম।

  • পথ

    স্ট্রিং ঐচ্ছিক

    Path কুকি অ্যাট্রিবিউটের মান।

  • সুরক্ষিত

    স্ট্রিং ঐচ্ছিক

    Secure কুকি অ্যাট্রিবিউটের অস্তিত্ব।

  • সেশন কুকি

    বুলিয়ান ঐচ্ছিক

    সেশন কুকি ফিল্টার করে। 'max-age' বা 'expires' অ্যাট্রিবিউটগুলোর কোনোটিতেই সেশন কুকির মেয়াদ নির্দিষ্ট করা থাকে না।

  • মূল্য

    স্ট্রিং ঐচ্ছিক

    কুকির মান ডাবল-কোটের মধ্যে রাখা হতে পারে।

HeaderFilter

বিভিন্ন মানদণ্ডের ভিত্তিতে অনুরোধের হেডার ফিল্টার করে। একাধিক মানদণ্ড একত্রে মূল্যায়ন করা হয়।

বৈশিষ্ট্য

  • নাম ধারণ করে

    স্ট্রিং | স্ট্রিং[] (ঐচ্ছিক)

    হেডারের নামে নির্দিষ্ট সবগুলো স্ট্রিং থাকলে এটি মিলে যাবে।

  • নাম সমান

    স্ট্রিং ঐচ্ছিক

    হেডারের নামটি নির্দিষ্ট স্ট্রিংয়ের সমান হলে মিলে যায়।

  • নামের উপসর্গ

    স্ট্রিং ঐচ্ছিক

    হেডারের নামটি নির্দিষ্ট স্ট্রিং দিয়ে শুরু হলে এটি মিলে যাবে।

  • নামের প্রত্যয়

    স্ট্রিং ঐচ্ছিক

    হেডার নামটি নির্দিষ্ট স্ট্রিং দিয়ে শেষ হলে এটি মিলে যাবে।

  • মান ধারণ করে

    স্ট্রিং | স্ট্রিং[] (ঐচ্ছিক)

    হেডার ভ্যালুতে নির্দিষ্ট করা সমস্ত স্ট্রিং থাকলে এটি মিলে যাবে।

  • মান সমান

    স্ট্রিং ঐচ্ছিক

    হেডার ভ্যালুটি নির্দিষ্ট স্ট্রিংয়ের সমান হলে মিলে যায়।

  • মান উপসর্গ

    স্ট্রিং ঐচ্ছিক

    হেডার ভ্যালুটি নির্দিষ্ট স্ট্রিং দিয়ে শুরু হলে এটি মিলে যায়।

  • মান সাফিক্স

    স্ট্রিং ঐচ্ছিক

    হেডার ভ্যালুটি নির্দিষ্ট স্ট্রিং দিয়ে শেষ হলে এটি মিলে যাবে।

IgnoreRules

নির্দিষ্ট শর্তের সাথে মিলে যাওয়া সমস্ত নিয়মকে আড়াল করে।

বৈশিষ্ট্য

  • নির্মাতা

    শূন্যতা

    constructor ফাংশনটি দেখতে এইরকম:

    (arg: IgnoreRules) => {...}

  • হ্যাশট্যাগ

    স্ট্রিং ঐচ্ছিক

    সেট করা থাকলে, নির্দিষ্ট ট্যাগযুক্ত নিয়মগুলি উপেক্ষা করা হয়। এই উপেক্ষা স্থায়ী নয়, এটি শুধুমাত্র একই নেটওয়ার্ক অনুরোধ পর্যায়ের নিয়ম এবং তাদের ক্রিয়াকলাপগুলিকে প্রভাবিত করে। মনে রাখবেন যে নিয়মগুলি তাদের অগ্রাধিকারের অবরোহী ক্রমে কার্যকর করা হয়। এই ক্রিয়াকলাপটি বর্তমান নিয়মের চেয়ে কম অগ্রাধিকারের নিয়মগুলিকে প্রভাবিত করে। একই অগ্রাধিকারের নিয়মগুলি উপেক্ষা করা হতেও পারে বা নাও হতে পারে।

  • নিম্ন অগ্রাধিকারের চেয়ে

    সংখ্যা ঐচ্ছিক

    সেট করা থাকলে, নির্দিষ্ট মানের চেয়ে কম অগ্রাধিকারের নিয়মগুলি উপেক্ষা করা হয়। এই সীমাটি স্থায়ী নয়, এটি শুধুমাত্র একই নেটওয়ার্ক অনুরোধ পর্যায়ের নিয়ম এবং তাদের ক্রিয়াকলাপগুলিকে প্রভাবিত করে।

RedirectByRegEx

URL-এর উপর রেগুলার এক্সপ্রেশন প্রয়োগ করে কোনো অনুরোধকে পুনঃনির্দেশিত করে। রেগুলার এক্সপ্রেশনগুলোতে RE2 সিনট্যাক্স ব্যবহার করা হয়।

বৈশিষ্ট্য

  • নির্মাতা

    শূন্যতা

    constructor ফাংশনটি দেখতে এইরকম:

    (arg: RedirectByRegEx) => {...}

  • থেকে

    স্ট্রিং

    একটি ম্যাচ প্যাটার্ন যাতে ক্যাপচার গ্রুপ থাকতে পারে। জাভাস্ক্রিপ্ট রেগুলার এক্সপ্রেশনের কাছাকাছি থাকার জন্য, পার্ল সিনট্যাক্সে ($1, $2, ...) RE2 সিনট্যাক্সের পরিবর্তে ক্যাপচার গ্রুপগুলোকে উল্লেখ করা হয়।

  • থেকে

    স্ট্রিং

    গন্তব্যের ধরণ।

RedirectRequest

ঘোষণামূলক ইভেন্ট অ্যাকশন যা একটি নেটওয়ার্ক অনুরোধকে পুনঃনির্দেশিত করে।

বৈশিষ্ট্য

RedirectToEmptyDocument

ঘোষণামূলক ইভেন্ট অ্যাকশন যা একটি নেটওয়ার্ক অনুরোধকে একটি খালি ডকুমেন্টে পুনঃনির্দেশিত করে।

বৈশিষ্ট্য

RedirectToTransparentImage

একটি ঘোষণামূলক ইভেন্ট অ্যাকশন যা একটি নেটওয়ার্ক অনুরোধকে একটি স্বচ্ছ ছবিতে পুনঃনির্দেশিত করে।

বৈশিষ্ট্য

RemoveRequestCookie

অনুরোধের এক বা একাধিক কুকি মুছে ফেলে। উল্লেখ্য যে, কুকি এপিআই (Cookies API) ব্যবহার করা শ্রেয়, কারণ এটি গণনাগতভাবে কম ব্যয়বহুল।

বৈশিষ্ট্য

RemoveRequestHeader

নির্দিষ্ট নামের রিকোয়েস্ট হেডারটি মুছে দেয়। একই রিকোয়েস্টে একই হেডার নামের জন্য SetRequestHeader এবং RemoveRequestHeader ব্যবহার করবেন না। প্রতিটি রিকোয়েস্ট হেডার নাম প্রতিটি রিকোয়েস্টে শুধুমাত্র একবারই ব্যবহৃত হয়।

বৈশিষ্ট্য

RemoveResponseCookie

রেসপন্সের এক বা একাধিক কুকি মুছে ফেলে। উল্লেখ্য যে, কুকি এপিআই (Cookies API) ব্যবহার করা শ্রেয়, কারণ এটি গণনাগতভাবে কম ব্যয়বহুল।

বৈশিষ্ট্য

RemoveResponseHeader

নির্দিষ্ট নাম ও মানগুলোর সমস্ত রেসপন্স হেডার মুছে দেয়।

বৈশিষ্ট্য

RequestCookie

HTTP অনুরোধে কুকির একটি ফিল্টার বা নির্দিষ্টকরণ।

বৈশিষ্ট্য

  • নাম

    স্ট্রিং ঐচ্ছিক

    একটি কুকির নাম।

  • মূল্য

    স্ট্রিং ঐচ্ছিক

    কুকির মান ডাবল-কোটের মধ্যে রাখা হতে পারে।

RequestMatcher

বিভিন্ন মানদণ্ডের ভিত্তিতে নেটওয়ার্ক ইভেন্টগুলো শনাক্ত করে।

বৈশিষ্ট্য

  • নির্মাতা

    শূন্যতা

    constructor ফাংশনটি দেখতে এইরকম:

    (arg: RequestMatcher) => {...}

  • বিষয়বস্তুর ধরণ

    স্ট্রিং[] ঐচ্ছিক

    যদি কোনো রেসপন্সের MIME মিডিয়া টাইপ (HTTP Content-Type হেডার থেকে প্রাপ্ত) তালিকায় অন্তর্ভুক্ত থাকে, তবে এটি মিলে যায়।

  • excludeContentType

    স্ট্রিং[] ঐচ্ছিক

    যদি কোনো রেসপন্সের MIME মিডিয়া টাইপ (HTTP Content-Type হেডার থেকে প্রাপ্ত) তালিকায় না থাকে, তবে এটি মিলে যায়।

  • অনুরোধ হেডার বাদ দিন

    যদি কোনো HeaderFilter-এর সাথে অনুরোধের কোনো হেডারই না মেলে, তাহলে এটি মিলে যায়।

  • প্রতিক্রিয়া হেডার বাদ দিন

    যদি কোনো হেডারফিল্টারের সাথে রেসপন্স হেডারগুলোর কোনোটিই না মেলে, তাহলে এটি মিলে যায়।

  • firstPartyForCookiesUrl
    অপ্রচলিত

    ৮২ নং রিলিজের পর থেকে উপেক্ষিত।

    অনুরোধের 'ফার্স্ট পার্টি' ইউআরএল-এর জন্য UrlFilter-এর শর্তগুলো পূরণ হলে এটি মিলে যায়। কোনো অনুরোধের 'ফার্স্ট পার্টি' ইউআরএল, যখন উপস্থিত থাকে, তখন তা অনুরোধটির টার্গেট ইউআরএল থেকে ভিন্ন হতে পারে, এবং এটি বর্ণনা করে যে কুকির জন্য থার্ড-পার্টি যাচাইয়ের সুবিধার্থে কোনটিকে 'ফার্স্ট পার্টি' হিসেবে বিবেচনা করা হয়।

  • অনুরোধ হেডার

    অনুরোধের কিছু হেডার যদি HeaderFilter-গুলোর কোনো একটির সাথে মিলে যায়, তবে এটিও মিলে যায়।

  • রিসোর্স টাইপ

    রিসোর্স টাইপ [] ঐচ্ছিক

    অনুরোধের ধরণটি তালিকায় থাকলে তা মিলে যাবে। যে অনুরোধগুলো কোনো ধরণের সাথেই মিলবে না, সেগুলো বাদ দেওয়া হবে।

  • প্রতিক্রিয়া হেডার

    যদি রেসপন্স হেডারগুলোর কয়েকটি HeaderFilter-গুলোর কোনো একটির সাথে মিলে যায়, তাহলে এটিও মিলে যায়।

  • পর্যায়গুলি

    পর্যায় [] ঐচ্ছিক

    এতে পর্যায়গুলো বর্ণনা করে এমন স্ট্রিং-এর একটি তালিকা রয়েছে। অনুমোদিত মানগুলো হলো 'onBeforeRequest', 'onBeforeSendHeaders', 'onHeadersReceived', 'onAuthRequired'। যদি এই অ্যাট্রিবিউটটি উপস্থিত থাকে, তবে এটি প্রযোজ্য পর্যায়গুলোকে তালিকাভুক্ত পর্যায়গুলোর মধ্যে সীমাবদ্ধ করে। মনে রাখবেন যে, সম্পূর্ণ শর্তটি শুধুমাত্র সেইসব পর্যায়ে প্রযোজ্য যা সমস্ত অ্যাট্রিবিউটের সাথে সামঞ্জস্যপূর্ণ।

  • তৃতীয়পক্ষের কুকিজ

    বুলিয়ান ঐচ্ছিক

    অপ্রচলিত

    ৮৭ নং রিলিজের পর থেকে উপেক্ষিত।

    যদি 'true' সেট করা হয়, তাহলে তৃতীয় পক্ষের কুকি নীতির অধীন অনুরোধগুলো মেলানো হয়। যদি 'false' সেট করা হয়, তাহলে অন্য সব অনুরোধ মেলানো হয়।

  • ইউআরএল

    অনুরোধের URL-এর জন্য UrlFilter-এর শর্তগুলো পূরণ হলে এটি মিলে যায়।

ResponseCookie

HTTP রেসপন্সে কুকির একটি নির্দিষ্টকরণ।

বৈশিষ্ট্য

  • ডোমেইন

    স্ট্রিং ঐচ্ছিক

    ডোমেইন কুকি অ্যাট্রিবিউটের মান।

  • মেয়াদ শেষ হয়ে যায়

    স্ট্রিং ঐচ্ছিক

    Expires কুকি অ্যাট্রিবিউটের মান।

  • httpOnly

    স্ট্রিং ঐচ্ছিক

    HttpOnly কুকি অ্যাট্রিবিউটের অস্তিত্ব।

  • সর্বোচ্চ বয়স

    সংখ্যা ঐচ্ছিক

    Max-Age কুকি অ্যাট্রিবিউটের মান

  • নাম

    স্ট্রিং ঐচ্ছিক

    একটি কুকির নাম।

  • পথ

    স্ট্রিং ঐচ্ছিক

    Path কুকি অ্যাট্রিবিউটের মান।

  • সুরক্ষিত

    স্ট্রিং ঐচ্ছিক

    Secure কুকি অ্যাট্রিবিউটের অস্তিত্ব।

  • মূল্য

    স্ট্রিং ঐচ্ছিক

    কুকির মান ডাবল-কোটের মধ্যে রাখা হতে পারে।

SendMessageToExtension

declarativeWebRequest.onMessage ইভেন্টটি ট্রিগার করে।

বৈশিষ্ট্য

SetRequestHeader

নির্দিষ্ট নামের রিকোয়েস্ট হেডারকে নির্দিষ্ট মানে সেট করে। যদি নির্দিষ্ট নামের কোনো হেডার আগে থেকে বিদ্যমান না থাকে, তবে একটি নতুন হেডার তৈরি করা হয়। হেডারের নামের তুলনা সর্বদা কেস-ইনসেনসিটিভ হয়। প্রতিটি রিকোয়েস্টে প্রতিটি রিকোয়েস্ট হেডারের নাম শুধুমাত্র একবারই ব্যবহৃত হয়।

বৈশিষ্ট্য

Stage

এনাম

"অনুরোধের পূর্বে"

"onBeforeSendHeaders"

"onHeadersReceived"

"onAuthRequired"

ইভেন্টগুলি

onMessage

chrome.declarativeWebRequest.onMessage.addListener(
  callback: function,
)

ডিক্লারেটিভ ওয়েব রিকোয়েস্ট এপিআই-এর কোনো অ্যাকশন থেকে declarativeWebRequest.SendMessageToExtension এর মাধ্যমে কোনো মেসেজ পাঠানো হলে এটি ফায়ার হয়।

প্যারামিটার

  • কলব্যাক

    ফাংশন

    callback প্যারামিটারটি দেখতে এইরকম:

    (details: object) => void

    • বিস্তারিত

      বস্তু

      • ডকুমেন্ট আইডি

        স্ট্রিং ঐচ্ছিক

        যে নথিটি অনুরোধটি করেছে তার UUID।

      • ডকুমেন্টটি যে জীবনচক্রে রয়েছে।

      • ফ্রেমআইডি

        সংখ্যা

        ০ মানটি নির্দেশ করে যে অনুরোধটি মূল ফ্রেমে ঘটছে; একটি ধনাত্মক মান সেই সাবফ্রেমের আইডি নির্দেশ করে যেখানে অনুরোধটি ঘটছে। যদি কোনো (সাব-)ফ্রেমের ডকুমেন্ট লোড করা হয় (যার type main_frame বা sub_frame ), তাহলে frameId এই ফ্রেমের আইডি নির্দেশ করে, বাইরের ফ্রেমের আইডি নয়। একটি ট্যাবের মধ্যে ফ্রেম আইডিগুলো অনন্য হয়।

      • যে ধরনের ফ্রেমে নেভিগেশনটি সংঘটিত হয়েছিল।

      • বার্তা

        স্ট্রিং

        কলিং স্ক্রিপ্ট দ্বারা প্রেরিত বার্তা।

      • পদ্ধতি

        স্ট্রিং

        স্ট্যান্ডার্ড HTTP পদ্ধতি।

      • প্যারেন্টডকুমেন্টআইডি

        স্ট্রিং ঐচ্ছিক

        এই ফ্রেমটির মালিক প্যারেন্ট ডকুমেন্টের একটি UUID। যদি কোনো প্যারেন্ট না থাকে, তবে এটি সেট করা হয় না।

      • parentFrameId

        সংখ্যা

        যে ফ্রেমটি অনুরোধ পাঠিয়েছে, সেটিকে আবৃতকারী ফ্রেমের আইডি। কোনো প্যারেন্ট ফ্রেম না থাকলে এর মান -১ সেট করা হয়।

      • অনুরোধ আইডি

        স্ট্রিং

        অনুরোধের আইডি। একটি ব্রাউজার সেশনের মধ্যে অনুরোধ আইডিগুলো অনন্য হয়। ফলে, একই অনুরোধের বিভিন্ন ঘটনাকে সম্পর্কিত করতে এগুলো ব্যবহার করা যেতে পারে।

      • মঞ্চ

        নেটওয়ার্ক অনুরোধের সেই পর্যায়, যে সময়ে ঘটনাটি সংঘটিত হয়েছিল।

      • ট্যাবআইডি

        সংখ্যা

        যে ট্যাবে অনুরোধটি করা হয়েছে, তার আইডি। অনুরোধটি কোনো ট্যাবের সাথে সম্পর্কিত না হলে এর মান -১ সেট করা হবে।

      • টাইমস্ট্যাম্প

        সংখ্যা

        ইপক থেকে মিলিসেকেন্ডে, এই সংকেতটি ট্রিগার হওয়ার সময়।

      • অনুরোধকৃত রিসোর্সটি কীভাবে ব্যবহার করা হবে।

      • ইউআরএল

        স্ট্রিং

onRequest

addRules , removeRules , এবং getRules নিয়ে গঠিত ডিক্লারেটিভ ইভেন্ট এপিআই প্রদান করে।

শর্তাবলী