失敗要求,其中包含模擬錯誤的檔案中隨機選取的錯誤。
組態範例
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.2.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/v2.2.0/genericrandomerrorplugin.schema.json",
"errorsFile": "errors.json"
}
}
組態屬性
| 財產 | 描述 | 違約 |
|---|---|---|
errorsFile |
包含錯誤回應之檔案的路徑。 | 無預設值 |
rate |
要求失敗的百分比,並出現隨機錯誤。 介於 0 和 100 之間的值。 | 50 |
retryAfterInSeconds |
重試要求之前要等候的秒數。 包含在動態節流 Retry-After 回應標頭中。 |
5 |
命令行選項
| 名稱 | 描述 | 違約 |
|---|---|---|
-f, --failure-rate <failure rate> |
要求失敗的百分比,並出現隨機錯誤。 介於 0 和 100 之間的值。 | 50 |
備註
每次回應 Retry-After 值
預設標 Retry-After 頭使用全域 retryAfterInSeconds 值。 你可以用 @dynamic=N 錯誤回應檔案中的語法,針對每個回應來覆寫這個值,其中 N 是等待後再嘗試的秒數。
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.2.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."
}
}
}
]
}
]
}
在此範例中, Retry-After 標頭對此回應使用 17 秒數,無論全域 retryAfterInSeconds 設定為何。 每次後續限速請求的值都會增加,就像普通 @dynamic 標記一樣。