Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Gagal permintaan dengan kesalahan acak yang dipilih dari file yang berisi kesalahan yang ditidakan.
Contoh konfigurasi
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
"plugins": [
{
"name": "GenericRandomErrorPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "genericRandomErrorPlugin"
}
],
"urlsToWatch": [
"https://api.openai.com/*"
],
"genericRandomErrorPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/genericrandomerrorplugin.schema.json",
"errorsFile": "errors.json"
}
}
Properti konfigurasi
| Harta benda | Deskripsi | Bawaan |
|---|---|---|
errorsFile |
Jalur ke file yang berisi respons kesalahan. | errors.json |
rate |
Persentase permintaan gagal dengan kesalahan acak. Nilai antara 0 dan 100. | 50 |
retryAfterInSeconds |
Jumlah detik untuk menunggu sebelum mencoba kembali permintaan. Disertakan pada header respons Retry-After untuk pembatasan dinamis. |
5 |
Opsi baris perintah
| Nama | Deskripsi | Bawaan |
|---|---|---|
-f, --failure-rate <failure rate> |
Persentase permintaan gagal dengan kesalahan acak. Nilai antara 0 dan 100. | 50 |
Komentar
Isi respons
Jika Anda mengatur body properti respons kesalahan ke objek atau array JSON, Dev Proxy menserialisasikannya ke JSON. Jika Anda mengaturnya ke string, Dev Proxy mengirimkan string as-is, tanpa tanda kutip di sekitarnya. String yang dimulai dengan @ diperlakukan sebagai jalur ke file, relatif terhadap file kesalahan, dengan isi respons. Karena Proksi Dev default Content-Type header ke application/json, atur Content-Type header agar sesuai dengan konten Anda saat Anda mengembalikan konten non-JSON, misalnya text/plain.
Nilai per respons Retry-After
Proksi Dev diselesaikan @dynamic di Retry-After header untuk kode status apa pun, seperti 429, 503, atau 529. Ini cocok dengan nama header terlepas dari kasus. Ketika diselesaikan @dynamic, ia juga mendaftarkan permintaan dengan RetryAfterPlugin, yang melaporkan permintaan yang dikirim aplikasi Anda sebelum Retry-After waktu habis.
Secara default, Retry-After header menggunakan nilai global retryAfterInSeconds . Anda dapat mengambil alih nilai ini berdasarkan per respons menggunakan @dynamic=N sintaks dalam file respons kesalahan, di mana N adalah jumlah detik untuk menunggu sebelum mencoba kembali.
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/genericrandomerrorplugin.errorsfile.schema.json",
"errors": [
{
"request": {
"url": "https://api.openai.com/*"
},
"responses": [
{
"statusCode": 429,
"headers": [
{
"name": "Retry-After",
"value": "@dynamic=17"
}
],
"body": {
"error": {
"message": "Rate limit exceeded. Wait 17 seconds."
}
}
}
]
}
]
}
Dalam contoh ini, Retry-After header menggunakan 17 detik untuk respons ini, terlepas dari pengaturan global retryAfterInSeconds . Kenaikan nilai pada setiap permintaan yang dibatasi berikutnya, seperti halnya token biasa @dynamic .
Header default Content-Type
Jika respons kesalahan memiliki body dan tidak menentukan Content-Type header, Dev Proxy mengembalikan respons dengan Content-Type: application/json header . Untuk mengembalikan tipe konten yang berbeda, tambahkan Content-Type header ke respons dalam file kesalahan. Dev Proxy menggunakan nilai yang Anda tentukan.