Plug-in respons-kustom memungkinkan Anda mengonfigurasi respons kustom, termasuk kode status, header respons HTTP, dan body respons HTTP. Plug-in ini dapat digunakan untuk respons mock atau memberikan respons kustom setelah kode status HTTP tertentu ditentukan. Sebagai contoh, Anda dapat menggunakan plug-in ini untuk mengonfigurasi respons kustom yang dikembalikan ketika kebijakan throttling gateway dipicu. Topik ini menjelaskan cara mengonfigurasi plug-in respons-kustom.
Jenis plug-in
Plug-in terkait protokol transmisi.
Bidang
Bidang | Tipe data | Diperlukan | Nilai default | Deskripsi |
status_code | angka | Tidak | 200 | Kode status HTTP kustom yang dikembalikan. |
headers | larik string | Tidak | - | Header kustom dalam respons HTTP. Pisahkan kunci dan nilai dengan tanda sama dengan ( |
body | string | Tidak | - | Body kustom dalam respons HTTP. |
enable_on_status | larik angka | Tidak | - | Kode status asli yang cocok untuk menghasilkan respons kustom. Jika Anda tidak menentukan bidang ini, sistem tidak akan menentukan kode status asli. |
Contoh
Mengembalikan respons kustom dalam skenario respons mock
status_code: 200
headers:
- Content-Type=application/json
- Hello=World
body: "{\"hello\":\"world\"}"Konfigurasi sebelumnya memungkinkan respons kustom berikut dikembalikan:
HTTP/1.1 200 OK
Content-Type: application/json
Hello: World
Content-Length: 17
{"hello":"world"}Mengembalikan respons kustom saat throttling dipicu
enable_on_status:
- 429
status_code: 302
headers:
- Location=https://example.comSaat throttling dipicu, kode status HTTP 429 biasanya dikembalikan. Dalam hal ini, respons kustom berikut dikembalikan:
HTTP/1.1 302 Found
Location: https://example.comDengan cara ini, mekanisme pengalihan 302 berbasis browser diimplementasikan untuk mengarahkan pengguna yang dibatasi ke halaman lain, seperti halaman statis yang diunggah ke CDN.
Jika Anda ingin kode status lain dikembalikan saat throttling dipicu, konfigurasikan bidang yang diperlukan dengan merujuk pada bagian "Mengembalikan Respons Kustom dalam Skenario Respons Mock".
Blok permintaan untuk rute atau nama domain tertentu
Terapkan konfigurasi plug-in berikut ke rute route-a dan route-b:
body: "{\"hello\":\"world\"}"Terapkan konfigurasi plug-in berikut ke nama domain *.example.com dan test.com:
enable_on_status:
- 429
status_code: 200
headers:
- Content-Type=application/json
body: "{\"errmsg\": \"rate limited\"}"Rute
route-adanroute-badalah rute yang ditentukan saat rute gateway dibuat. Jika permintaan klien cocok dengan salah satu rute, aturan yang dikonfigurasikan untuk rute yang cocok akan berlaku.Nama domain
*.example.comdantest.comdigunakan untuk mencocokkan nama domain dalam permintaan. Jika permintaan klien cocok dengan salah satu nama domain, aturan yang dikonfigurasikan untuk nama domain yang cocok akan berlaku.Aturan yang Anda konfigurasikan berlaku secara berurutan. Jika aturan pertama cocok, aturan berikutnya akan diabaikan.