Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Żądania kończą się niepowodzeniem z losowym wybranym błędem z pliku zawierającego wyśmiewane błędy.
Przykład konfiguracji
{
"$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"
}
}
Właściwości konfiguracji
| Własność | Opis | Domyślny |
|---|---|---|
errorsFile |
Ścieżka do pliku zawierającego odpowiedzi na błędy. | errors.json |
rate |
Procent żądań do niepowodzenia z losowym błędem. Wartość z zakresu od 0 do 100. | 50 |
retryAfterInSeconds |
Liczba sekund oczekiwania przed ponowieniu próby żądania. Uwzględniony w nagłówku odpowiedzi Retry-After na potrzeby ograniczania dynamicznego. |
5 |
Opcje wiersza polecenia
| Nazwa | Opis | Domyślny |
|---|---|---|
-f, --failure-rate <failure rate> |
Procent żądań do niepowodzenia z losowym błędem. Wartość z zakresu od 0 do 100. | 50 |
Uwagi
Treść odpowiedzi
Jeśli ustawisz body właściwość błędu odpowiedzi na obiekt lub tablicę JSON, serwer proxy dewelopera serializuje go na JSON. Jeśli ustawisz go na ciąg, serwer proxy dewelopera wysyła ciąg as-is, bez otaczających cudzysłowów. Ciąg rozpoczynający się od @ jest traktowany jako ścieżka do pliku w stosunku do pliku błędów z treścią odpowiedzi. Ponieważ serwer proxy deweloperów Content-Type domyślnie ustawia nagłówek na application/json, ustaw Content-Type nagłówek tak, aby był zgodny z zawartością, gdy zwracasz zawartość inną niż JSON, na przykład text/plain.
Wartości na odpowiedź Retry-After
Serwer proxy deweloperów @dynamic rozpoznaje w nagłówku Retry-After dowolny kod stanu, taki jak 429, 503lub 529. Pasuje do nazwy nagłówka niezależnie od wielkości liter. Po rozwiązaniu problemu @dynamicrejestruje również żądanie za pomocą polecenia RetryAfterPlugin, które zgłasza żądania wysyłane przez aplikację przed upływem Retry-After czasu.
Domyślnie Retry-After nagłówek używa wartości globalnej retryAfterInSeconds . Tę wartość można zastąpić dla poszczególnych odpowiedzi przy użyciu @dynamic=N składni w pliku odpowiedzi o błędach, gdzie N jest to liczba sekund oczekiwania przed ponowną próbą.
{
"$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."
}
}
}
]
}
]
}
W tym przykładzie Retry-After nagłówek używa 17 sekund dla tej odpowiedzi, niezależnie od ustawienia globalnego retryAfterInSeconds . Wartość zwiększa się dla każdego kolejnego żądania ograniczonego, tak jak w przypadku zwykłego @dynamic tokenu.
Domyślny Content-Type nagłówek
Jeśli odpowiedź o błędzie zawiera body nagłówek i nie definiuje nagłówka Content-Type , serwer proxy deweloperów zwraca odpowiedź z nagłówkiem Content-Type: application/json . Aby zwrócić inny typ zawartości, dodaj Content-Type nagłówek do odpowiedzi w pliku błędów. Serwer proxy deweloperów używa określonej wartości.