---
url: https://docs.ogmabox.com/bn/app/match-replace.md
description: >-
  Ogma মিলিয়ে প্রতিস্থাপনের নিয়ম দিয়ে ক্যাপচার করা HTTP ও WebSocket ট্রাফিক
  স্বয়ংক্রিয়ভাবে পরিবর্তন করুন।
---

# মিলিয়ে প্রতিস্থাপন {#match-replace}

মিলিয়ে প্রতিস্থাপন প্রক্সির মধ্য দিয়ে যাওয়া ট্রাফিক স্বয়ংক্রিয়ভাবে বদলায়। প্রতিটি অনুরোধ থামাতে বা হাতে পদক্ষেপ নিতে হয় না।

## নিয়ম যেভাবে কাজ করে {#how-rules-work}

প্রতিটি নিয়ম কী খুঁজবে এবং তা নিয়ে কী করবে নির্ধারণ করে। অনুরোধ বা উত্তর শর্তের সঙ্গে মিললে সঙ্গে সঙ্গে রূপান্তর প্রয়োগ হয়।

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

## নিয়মের ফিল্ড {#rule-fields}

| ফিল্ড | বর্ণনা |
| --- | --- |
| নাম | নিয়মের লেবেল। উদ্দেশ্য বোঝায় এমন নাম দিন। |
| দিক | অনুরোধ, উত্তর বা উভয়ে নিয়ম প্রযোজ্য কি না |
| অপারেশন | কোন রূপান্তর হবে (নিচের সারণি দেখুন) |
| মিলের মোড | অপারেশন অনুযায়ী আক্ষরিক, regex বা সম্পূর্ণ বিষয়বস্তু |
| মিলের মান | খোঁজার স্ট্রিং বা প্যাটার্ন |
| প্রতিস্থাপনের মান | যে মান বসবে |
| চালু | নিয়ম না মুছে চালু বা বন্ধ করার সুইচ |
| ছাঁকনি | প্রয়োগের স্থান সীমিত করার ঐচ্ছিক মেথড, হোস্ট, পাথ ও HTTPQL শর্ত |

### ক্রিয়া {#operations}

| অপারেশন | যা করে |
| --- | --- |
| হেডার যোগ করুন | নির্দিষ্ট নাম ও মানের নতুন হেডার যোগ করে |
| হেডার সরান | নাম দিয়ে হেডার মুছে দেয় |
| হেডার প্রতিস্থাপন | বিদ্যমান হেডারের মান বদলায় |
| বডি প্রতিস্থাপন | মিলের মান দিয়ে বডির অংশ বদলায় |
| পাথ / কোয়েরি / কোয়েরি প্যারামিটার | অনুরোধের পাথ বা কোয়েরির মান বদলায় |
| অনুরোধ / উত্তরের লাইন | HTTP শুরুর লাইনের নির্বাচিত উপাদান বদলায় |
| স্ট্যাটাস কোড | উত্তরের স্ট্যাটাস বদলায় |
| Raw বার্তা | HTTP শুরুর লাইন, হেডার ও বডি একত্রে রূপান্তর করে |
| WebSocket পেলোড | মিলে যাওয়া ক্লায়েন্ট/সার্ভার বার্তার বিষয়বস্তু বদলায় |
| কর্মপ্রবাহ | নির্বাচিত বিষয়বস্তুতে চালু Convert কর্মপ্রবাহ চালায় |

## মিলের মোড {#match-modes}

**হুবহু লেখা** হুবহু স্ট্রিং মেলায়। স্থির টোকেন, হেডারের নাম বা নির্দিষ্ট মানে ব্যবহার করুন।

**রেগুলার এক্সপ্রেশন** রেগুলার এক্সপ্রেশন দিয়ে মেলায়। লক্ষ্য পরিবর্তনশীল হলে ব্যবহার করুন; যেমন প্রতি সেশনে বদলানো টোকেন মেলাতে বা গ্রুপ ধরে প্রতিস্থাপনে আবার ব্যবহার করতে।

Regex প্রতিস্থাপনে মিলে যাওয়া অংশ উল্লেখ করতে `$1`, `$2` ইত্যাদি ক্যাপচার গ্রুপ ব্যবহার করুন।

**সম্পূর্ণ প্রতিস্থাপন** অংশবিশেষ খোঁজার বদলে সম্পূর্ণ নির্বাচিত বিষয়বস্তু রূপান্তরে দেয়। নামযুক্ত হেডার যোগ/সরানোর মতো কিছু অপারেশন আক্ষরিক নাম ব্যবহার করে এবং সব মোড দেয় না।

## সম্পূর্ণ রেসপন্স বডি রূপান্তর {#transforming-a-complete-response-body}

1. **Convert** কর্মপ্রবাহ তৈরি ও চালু করে পরীক্ষার ইনপুট দিয়ে যাচাই করুন।
2. **প্রতিক্রিয়া** দিক ও **কর্মপ্রবাহ (বডি)** অপারেশন দিয়ে মিলিয়ে প্রতিস্থাপন নিয়ম তৈরি করুন।
3. **সম্পূর্ণ প্রতিস্থাপন** মিলের মোড বেছে কর্মপ্রবাহ নির্বাচন করুন।
4. HTTPQL ফিল্টার দিয়ে নিয়ম সীমিত করুন, যেমন:

```text
req.host.eq:"cdn.example.com" AND (req.path.cont:".js" OR resp.headers["Content-Type"].value.cont:"javascript")
```

কর্মপ্রবাহ পুরো বডি পায়; তার আউটপুট ওই বডি প্রতিস্থাপন করে। **কর্মপ্রবাহ (হেডার)** নামযুক্ত হেডার রূপান্তর করে, আর **কর্মপ্রবাহ (অপরিবর্তিত হেডার)** (Headers Raw) নেটওয়ার্কে পাঠানোর HTTP বিন্যাসের হেডার ব্লক রূপান্তর করে। এই ইনপুটগুলো রেসপন্স বডি থেকে আলাদা।

উপলভ্য অনুরোধ/উত্তরের প্রসঙ্গে HTTPQL ফিল্টার যাচাই হয়। অনুরোধমুখী নিয়ম এখনও আসেনি এমন উত্তরের ওপর নির্ভর করতে পারে না। নিয়মে প্রচুর রান হলে কর্মপ্রবাহের লগ বন্ধ রাখুন; রূপান্তরের সমস্যা নির্ণয়ে সাময়িকভাবে চালু করুন।

## নিয়মের ক্রম বদলানো {#reordering-rules}

তালিকায় অবস্থান বদলাতে নিয়মের সারি টানুন। একই অনুরোধ বা উত্তরের একই অংশ বদলালে নিয়মের ক্রম গুরুত্বপূর্ণ।

## AI সহায়তা {#ai-assist}

নিয়ম এডিটরে **AI সহায়তা** চেপে সাধারণ ভাষায় কী বদলাবেন বর্ণনা করুন। Ogma বর্ণনার ভিত্তিতে নিয়মের ফিল্ড তৈরি করে। চালুর আগে তৈরি মান পর্যালোচনা ও ঠিক করুন।

কার্যকর নির্দেশনার উদাহরণ:

* "সব উত্তর থেকে X-Frame-Options হেডার সরান"
* "Authorization হেডারের মান আমার পরীক্ষার টোকেন দিয়ে বদলান"
* "সব অনুরোধে true মানের X-Debug হেডার যোগ করুন"

## নিয়ম পরীক্ষা {#testing-a-rule}

চলমান ট্রাফিকে চালুর আগে নমুনা অনুরোধ দিয়ে পরীক্ষা করুন:

1. নিয়ম এডিটর খুলুন।
2. **পরীক্ষা করুন** প্যানেলে Raw HTTP অনুরোধ পেস্ট করুন।
3. **নিয়ম প্রয়োগ করুন** চাপুন। প্যানেলে ফল এবং কোন নিয়ম প্রযোজ্য হয়েছে দেখায়।
4. আউটপুট প্রত্যাশামতো কি না যাচাই করুন।
5. নিয়ম চালু করুন।

পরীক্ষা প্যানেলে স্ট্যাটাস, হেডার ও বডির ইনপুটসহ **প্রতিক্রিয়া** লক্ষ্যও আছে। প্রয়োগ হওয়া নিয়মের তালিকা দেখুন: এতে প্রযোজ্য নিয়ম পরীক্ষা হয়, শুধু এডিটরের বিচ্ছিন্ন ফিল্ড নয়।

## মিলিয়ে প্রতিস্থাপন বনাম ইন্টারসেপশন {#match-replace-vs-intercept}

**মিলিয়ে প্রতিস্থাপন** স্বয়ংক্রিয়। নিয়ম চালু হলে আপনার পদক্ষেপ ছাড়াই প্রতিটি মিলে যাওয়া অনুরোধ বা উত্তর বদলায়।

**ইন্টারসেপশন** ট্রাফিক থামিয়ে হাতে সিদ্ধান্তের অপেক্ষা করে। সঠিক পরিবর্তন প্রতি অনুরোধে মূল্যায়ন করতে হয় এমন প্রসঙ্গের ওপর নির্ভর করলে ইন্টারসেপশন ব্যবহার করুন। পর্যালোচনা ছাড়া প্রতিবার একই রূপান্তর চাইলে মিলিয়ে প্রতিস্থাপন ব্যবহার করুন।

## সাধারণ ব্যবহার {#common-uses}

* অন্য অ্যাকাউন্ট পরীক্ষায় সব অনুরোধের সেশন কুকি বদলানো।
* ডিবাগ বা প্রশাসনিক মোড চালু করার হেডার যোগ।
* ক্লায়েন্ট-পক্ষের আচরণ মূল্যায়নে উত্তরের নিরাপত্তা হেডার সরানো।
* রিডাইরেক্ট উত্তরে হার্ডকোড করা হোস্ট বদলানো।
* অনুরোধের পাথের উপসর্গ পুনর্লিখন।

## সম্পর্কিত পৃষ্ঠা {#related-pages}

* [ইন্টারসেপশন](./intercept.md)
* [HTTP ইতিহাস](./http-history.md)
* [কর্মপ্রবাহ](./workflows.md)
