---
url: https://docs.ogmabox.com/bn/reference/httpql.md
description: >-
  HTTPQL ও StreamQL কোয়েরি সিনট্যাক্স দিয়ে Ogma HTTP ইতিহাস, WebSocket
  ট্রাফিক, স্বয়ংক্রিয় পরীক্ষার ফল ও সংশ্লিষ্ট দৃশ্য ফিল্টার করুন।
---

# HTTPQL ও StreamQL {#httpql-and-streamql}

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

## সিনট্যাক্স {#syntax}

`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"
```

## অপারেটর {#operators}

| অপারেটর | অর্থ |
| --- | --- |
| `:` | ফিল্ডের ধরন অনুযায়ী সমান বা ডিফল্ট মিল |
| `.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 উদাহরণ {#http-examples}

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
```

## স্ট্রিমের উদাহরণ {#stream-examples}

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

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

```text
ws.raw.cont:"token"
```

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

```text
ws.direction.eq:"To Client"
```

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

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

## কার্যকর সংরক্ষিত ছাঁকনি {#practical-saved-filters}

| নাম | কোয়েরি |
| --- | --- |
| 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"` |

## সীমা {#limits}

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

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

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