Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Schlägt Anforderungen mit einem zufällig ausgewählten Fehler aus der Datei mit simulierten Fehlern fehl.
Konfigurationsbeispiel
{
"$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"
}
}
Konfigurationseigenschaften
| Eigentum | Beschreibung | Vorgabe |
|---|---|---|
errorsFile |
Pfad zur Datei, die Fehlerantworten enthält. | errors.json |
rate |
Der Prozentsatz der Anforderungen, die mit einem zufälligen Fehler fehlschlagen sollen. Wert zwischen 0 und 100. | 50 |
retryAfterInSeconds |
Die Anzahl der Sekunden, die gewartet werden sollen, bevor die Anforderung erneut versucht wird. Im Retry-After Antwortheader für die dynamische Drosselung enthalten. |
5 |
Befehlszeilenoptionen
| Name | Beschreibung | Vorgabe |
|---|---|---|
-f, --failure-rate <failure rate> |
Der Prozentsatz der Anforderungen, die mit einem zufälligen Fehler fehlschlagen sollen. Wert zwischen 0 und 100. | 50 |
Bemerkungen
Antwortkörper
Wenn Sie die body Eigenschaft einer Fehlerantwort auf ein JSON-Objekt oder array festlegen, serialisiert Dev Proxy sie in JSON. Wenn Sie die Zeichenfolge auf eine Zeichenfolge festlegen, sendet Dev Proxy die Zeichenfolge as-isohne umgebende Anführungszeichen. Eine Zeichenfolge, die beginnt @ , wird als Pfad zu einer Datei im Verhältnis zur Fehlerdatei mit dem Antworttext behandelt. Da Dev Proxy standardmäßig den Header application/jsonangibt, legen Sie den Content-TypeContent-Type Header so fest, dass er Mit Ihren Inhalten übereinstimmt, wenn Sie ztext/plain. B. nicht-JSON-Inhalte zurückgeben.
Werte pro Antwort Retry-After
Dev Proxy wird @dynamic im Header für jeden Statuscode aufgelöst, z429. B. , oder 503529.Retry-After Sie entspricht dem Kopfzeilennamen unabhängig von der Groß-/Kleinschreibung. Wenn sie aufgelöst wird @dynamic, registriert sie auch die Anforderung mit dem RetryAfterPlugin, das Anforderungen meldet, die Ihre App sendet, bevor die Retry-After Zeit aufnimmt.
Standardmäßig verwendet der Retry-After Header den globalen retryAfterInSeconds Wert. Sie können diesen Wert pro Antwort mithilfe der Syntax in der @dynamic=N Fehlerantwortdatei außer Kraft setzen. Dabei handelt es sich um die Anzahl der Sekunden, N die vor dem erneuten Wiederholen gewartet werden sollen.
{
"$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."
}
}
}
]
}
]
}
In diesem Beispiel verwendet Retry-After der 17 Header Sekunden für diese Antwort, unabhängig von der globalen retryAfterInSeconds Einstellung. Der Wert erhöht sich für jede nachfolgende gedrosselte Anforderung, wie bei dem einfachen @dynamic Token.
Standardheader Content-Type
Wenn eine Fehlerantwort über einen body Header verfügt und nicht definiert Content-Type wird, gibt Dev Proxy die Antwort mit dem Content-Type: application/json Header zurück. Um einen anderen Inhaltstyp zurückzugeben, fügen Sie der Antwort in der Fehlerdatei den Content-Type Header hinzu. Dev Proxy verwendet den von Ihnen angegebenen Wert.