การตอบกลับจำลอง
Chute สามารถส่งคืนข้อมูลจำลองสำหรับคำขอ HTTP/HTTPS ที่ตรงกันโดยไม่ต้องเข้าถึงเซิร์ฟเวอร์จริง สิ่งนี้มีประโยชน์สำหรับการทดสอบ การพัฒนา หรือการบล็อกเนื้อหาที่ไม่ต้องการด้วยการตอบกลับที่กำหนดเอง
กฎการจำลองถูกกำหนดในส่วน [Map Local] (ยังรองรับ [Mock] เป็นชื่อส่วนดั้งเดิมด้วย)
สามารถใช้กฎหลายตัวกับหนึ่งคำขอ การจำลองแรกที่มีรูปแบบ URL ตรงกันจะถูกใช้
รูปแบบ Inline Mock
สำหรับการตอบกลับจำลองอย่างง่ายด้วยเนื้อหาในบรรทัด:
[Map Local]
^http://example\.com/api/status status=200 body={"ok":true}
^http://example\.com/blocked status=403
^http://ad\.com/.* status=200 body="<html></html>" content-type="text/html"
กฎการจำลองในบรรทัดประกอบด้วย: นิพจน์ปกติ URL และพารามิเตอร์การตอบกลับ key=value หนึ่งตัวขึ้นไป
พารามิเตอร์ในบรรทัด
status: จำเป็นต้องระบุ
status=200
รหัสสถานะ HTTP ที่จะส่งคืน
body: ไม่บังคับ
body={"result":"mocked"}
เนื้อหาการตอบกลับที่จะส่งคืน หากไม่ระบุ จะส่งคืนเนื้อหาว่าง
content-type: ไม่บังคับ
content-type=application/json
ส่วนหัว Content-Type สำหรับการตอบกลับจำลอง ใช้ร่วมกับ body เพื่อให้บริการการตอบกลับที่เหมาะสม
headers: ไม่บังคับ
headers=X-Custom:Value1;X-Another:Value2
ส่วนหัวการตอบกลับเพิ่มเติม คั่นด้วย ;
รูปแบบ Map Local
สำหรับการให้บริการการตอบกลับจำลองจากไฟล์ในเครื่องหรือด้วยเนื้อหาที่เข้ารหัส base64:
[Map Local]
^https://example\.com/api data="/path/to/mock-response.json"
^https://example\.com/page data="/path/to/page.html" header="SGVhZGVyOiBWYWx1ZQ=="
^https://example\.com/pixel base64="R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
พารามิเตอร์ Map Local
| พารามิเตอร์ | คำอธิบาย |
|---|---|
data="/path/to/file" |
เส้นทางไฟล์เพื่อให้บริการเป็นเนื้อหาการตอบกลับ ไฟล์ถูกอ่านในเวลาคำขอ |
base64="<encoded>" |
เนื้อหาการตอบกลับที่เข้ารหัส base64 |
header="<base64>" |
ส่วนหัวการตอบกลับที่กำหนดเองที่เข้ารหัส base64 (รูปแบบ Key: Value\n) |
ต้องระบุอย่างน้อยหนึ่งอย่างจาก
data=หรือbase64=
ตัวแปรเทมเพลต
เมื่อใช้ data= หรือ base64= เนื้อหาการตอบกลับรองรับการแทนที่ตัวแปรเทมเพลต:
| ตัวแปร | แทนที่ด้วย |
|---|---|
{{url}} |
เส้นทาง URL คำขอแบบเต็ม |
{{host}} |
ชื่อโฮสต์ของคำขอ |
{{path}} |
เส้นทาง URL สัมพัทธ์ |
{{method}} |
เมธอด HTTP |
{{ua}} |
ค่าส่วนหัว User-Agent |
ตัวอย่างไฟล์ตอบกลับจำลอง (response.json):
{
"requested_url": "{{ "{{url}}" }}",
"host": "{{ "{{host}}" }}",
"method": "{{ "{{method}}" }}"
}
หมายเหตุ: สำหรับคำขอ HTTPS ต้องเปิดใช้งานการถอดรหัส MitM สำหรับชื่อโฮสต์ที่ตรงกัน กฎการจำลองสำหรับทราฟฟิก HTTPS ที่ไม่มี MitM จะถูกละเว้น