Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Échec des requêtes avec une erreur sélectionnée aléatoire à partir d’un fichier contenant des erreurs factices.
Exemple de configuration
{
"$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"
}
}
Propriétés de configuration
| Propriété | Descriptif | Faire défaut |
|---|---|---|
errorsFile |
Chemin d’accès au fichier qui contient des réponses d’erreur. | Aucune valeur par défaut |
rate |
Pourcentage de demandes à échouer avec une erreur aléatoire. Valeur comprise entre 0 et 100. | 50 |
retryAfterInSeconds |
Nombre de secondes à attendre avant de réessayer la requête. Inclus dans l’en-tête de réponse Retry-After pour la limitation dynamique. |
5 |
Options de ligne de commande
| Nom | Descriptif | Faire défaut |
|---|---|---|
-f, --failure-rate <failure rate> |
Pourcentage de demandes à échouer avec une erreur aléatoire. Valeur comprise entre 0 et 100. | 50 |
Remarques
Valeurs par réponse Retry-After
Par défaut, l’en-tête Retry-After utilise la valeur globale retryAfterInSeconds . Vous pouvez remplacer cette valeur par réponse à l’aide de la syntaxe dans le @dynamic=N fichier de réponses d’erreur, où N est le nombre de secondes à attendre avant de réessayer.
{
"$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."
}
}
}
]
}
]
}
Dans cet exemple, l’en-tête Retry-After utilise 17 des secondes pour cette réponse, quel que soit le paramètre global retryAfterInSeconds . La valeur incrémente chaque requête limitée suivante, comme avec le jeton brut @dynamic .