Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Nezdaří požadavky s náhodnou vybranou chybou ze souboru obsahujícího napodobené chyby.
Příklad konfigurace
{
"$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"
}
}
Vlastnosti konfigurace
| Vlastnost | Popis | Výchozí |
|---|---|---|
errorsFile |
Cesta k souboru, který obsahuje chybové odpovědi. | errors.json |
rate |
Procento neúspěšných požadavků s náhodnou chybou Hodnota mezi 0 a 100. | 50 |
retryAfterInSeconds |
Počet sekund, které se mají počkat před opakováním požadavku. Součástí hlavičky Retry-After odpovědi pro dynamické omezování. |
5 |
Možnosti příkazového řádku
| Název | Popis | Výchozí |
|---|---|---|
-f, --failure-rate <failure rate> |
Procento neúspěšných požadavků s náhodnou chybou Hodnota mezi 0 a 100. | 50 |
Poznámky
Text odpovědi
Pokud nastavíte body vlastnost chybové odpovědi na objekt nebo pole JSON, dev proxy ji serializuje na JSON. Pokud ho nastavíte na řetězec, dev Proxy odešle řetězec as-isbez okolních uvozovek. Řetězec, který začíná, @ se považuje za cestu k souboru vzhledem k souboru chyb s textem odpovědi. Vzhledem k tomu, že Dev Proxy nastaví hlavičku Content-Type tak application/json, aby odpovídala vašemu Content-Type obsahu, když například text/plainvrátíte jiný obsah než JSON.
Hodnoty pro jednotlivé odpovědi Retry-After
Dev Proxy se překládá @dynamic v Retry-After hlavičce pro jakýkoli stavový kód, například 429, 503nebo 529. Odpovídá názvu záhlaví bez ohledu na velikost písmen. Při řešení @dynamictaké zaregistruje požadavek do retryAfterPlugin, který hlásí požadavky, které vaše aplikace odešle před vypršením časového limitu Retry-After .
Ve výchozím nastavení používá hlavička Retry-After globální retryAfterInSeconds hodnotu. Tuto hodnotu můžete přepsat na základě odpovědi pomocí @dynamic=N syntaxe v souboru odpovědí na chyby, kde N je počet sekund čekání před opakováním.
{
"$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."
}
}
}
]
}
]
}
V tomto příkladu používá hlavička Retry-After17 sekundy pro tuto odpověď bez ohledu na globální retryAfterInSeconds nastavení. Hodnota se zvýší u každého dalšího omezeného požadavku, stejně jako u prostého @dynamic tokenu.
Výchozí Content-Type záhlaví
Pokud chybová odpověď obsahuje hlavičku bodyContent-Type a nedefinuje ji, vrátí dev proxy odpověď se záhlavím Content-Type: application/json . Pokud chcete vrátit jiný typ obsahu, přidejte hlavičku Content-Type do odpovědi v souboru chyb. Dev Proxy používá zadaná hodnota.