মূল বিষয়বস্তুতে যান

HTTPQL ও StreamQL ​

HTTP ইতিহাস, WebSocket ট্রাফিক, স্বয়ংক্রিয় পরীক্ষার ফল ও সংশ্লিষ্ট দৃশ্য ফিল্টার করতে Ogma Caido-সামঞ্জস্যপূর্ণ কোয়েরি ভাষার একটি উপসেট ব্যবহার করে।

সিনট্যাক্স ​

AND ও OR দিয়ে যুক্ত শর্তাংশে কোয়েরি তৈরি হয়।

text
req.host:example.com AND resp.code:200

বন্ধনী এক্সপ্রেশনকে গোষ্ঠীবদ্ধ করে:

text
(req.path.cont:"/api/" OR req.path.cont:"/graphql") AND resp.code.gte:400

মন্তব্য সমর্থিত:

text
// API errors
req.path.cont:"/api/" AND resp.code.gte:500
text
/* focus on login */
req.path.cont:"login"

অপারেটর ​

অপারেটরঅর্থ
:ফিল্ডের ধরন অনুযায়ী সমান বা ডিফল্ট মিল
.eq:সমান
.ne:সমান নয়
.cont:অংশবিশেষ আছে; বড়/ছোট হাতের অক্ষর বিবেচনা করে না
.ncont:অংশবিশেষ নেই; বড়/ছোট হাতের অক্ষর বিবেচনা করে না
.cs.cont:অংশবিশেষ আছে; বড়/ছোট হাতের অক্ষর বিবেচনা করে
.cs.ncont:অংশবিশেষ নেই; বড়/ছোট হাতের অক্ষর বিবেচনা করে
.like:SQL-এর মতো প্যাটার্নে মিল
.nlike:SQL-এর মতো প্যাটার্নে অমিল
.regex:রেগুলার এক্সপ্রেশনে মিল
.nregex:রেগুলার এক্সপ্রেশনে অমিল
.lt:কম
.lte:কম বা সমান
.gt:বেশি
.gte:বেশি বা সমান
.existsহেডার আছে; req.header["Name"].value.exists বা উত্তরের সমতুল্য ব্যবহার করুন

HTTP উদাহরণ ​

API ট্রাফিক খুঁজুন:

text
req.path.cont:"/api/"

সার্ভারের ত্রুটি খুঁজুন:

text
resp.code.gte:500

বড় উত্তর খুঁজুন:

text
resp.len.gt:100000

JSON উত্তর খুঁজুন:

text
resp.header["content-type"].value.cont:"application/json"

কুকিযুক্ত অনুরোধ খুঁজুন:

text
req.header["cookie"].value.exists

ইন্টারসেপশন বা মিলিয়ে প্রতিস্থাপনে পরিবর্তিত ট্রাফিক খুঁজুন:

text
req.modified.eq:true

সম্ভাব্য প্রশাসনিক পাথ খুঁজুন:

text
req.path.cont:"/admin" OR req.path.cont:"/manage"

পুনঃপ্রেরণ বা স্বয়ংক্রিয় পরীক্ষার ট্রাফিক খুঁজুন:

text
source:replay OR source:automate

স্ট্রিমের উদাহরণ ​

WebSocket ও স্ট্রিম দৃশ্যে StreamQL একই ধরনের কোয়েরি প্রয়োগ করে।

টোকেন ফিল্ড আছে এমন WebSocket বার্তা খুঁজুন:

text
ws.raw.cont:"token"

সার্ভার থেকে ক্লায়েন্টের বার্তা খুঁজুন:

text
ws.direction.eq:"To Client"

JSON-সদৃশ বার্তা খুঁজুন:

text
ws.raw.cont:"{" AND ws.raw.cont:"}"

কার্যকর সংরক্ষিত ছাঁকনি ​

নামকোয়েরি
API ত্রুটিreq.path.cont:"/api/" AND resp.code.gte:400
অথেন্টিকেশন এন্ডপয়েন্টreq.path.cont:"login" OR req.path.cont:"oauth" OR req.path.cont:"session"
JSON ট্রাফিকresp.header["content-type"].value.cont:"json"
গুরুত্বপূর্ণ মেথডreq.method:POST OR req.method:PUT OR req.method:PATCH OR req.method:DELETE
সম্ভাব্য গোপন তথ্যresp.body.cont:"api_key" OR resp.body.cont:"secret" OR resp.body.cont:"token"

সীমা ​

ফিল্টারের আচরণ অনুমানযোগ্য রাখতে Ogma কোয়েরির জটিলতা সীমিত করে:

  • নেস্টেড এক্সপ্রেশনের সর্বোচ্চ গভীরতা: 16।
  • সর্বোচ্চ শর্তাংশের সংখ্যা: 64।

কোয়েরি বেশি জটিল হলে সংরক্ষিত ফিল্টারে ভাগ করুন বা বিস্তৃত অনুসন্ধানের জন্য অনুসন্ধান দৃশ্য ব্যবহার করুন।

মালিকানাধীন সফটওয়্যার। সর্বস্বত্ব সংরক্ষিত।