Simulera Rate-Limit API-svar
Rate-Limit huvuden används i HTTP-svar för att begränsa antalet begäranden som en klient kan göra inom en viss tidsperiod.
Servern skickar dessa huvuden som svar på en klients begäran för att ange hur många begäranden som tillåts och hur många begäranden som återstår innan gränsen nås.
Fältet RateLimit-Limit
för svarshuvud anger den begärandekvot som är associerad med klienten i det aktuella tidsfönstret. Om klienten överskrider den gränsen kanske den inte hanteras.
Stöd för anpassad hastighetsbegränsning
När du överskrider hastighetsgränsen använder vissa API:er anpassade beteenden, till exempel att returnera en 403 Forbidden
statuskod med ett anpassat felmeddelande. Med Dev Proxy kan du simulera dessa anpassade beteenden med hjälp Custom
av värdet för whenLimitExceeded
egenskapen.
I följande exempel visas hur du kan konfigurera hur du kan konfigurera RateLimitingPlugin i filen devproxyrc för att simulera hastighetsgränser för GitHub-API:et.
{
"rateLimiting": {
"headerLimit": "X-RateLimit-Limit",
"headerRemaining": "X-RateLimit-Remaining",
"headerReset": "X-RateLimit-Reset",
"costPerRequest": 1,
"resetTimeWindowSeconds": 3600,
"warningThresholdPercent": 0,
"rateLimit": 60,
"resetFormat": "UtcEpochSeconds",
"whenLimitExceeded": "Custom",
"customResponseFile": "github-rate-limit-exceeded.json"
}
}
customResponseFile
innehåller det svar som proxyn returnerar när appen nådde hastighetsgränsen.
{
"statusCode": 403,
"headers": [
{
"name": "Content-Type",
"value": "application/json; charset=utf-8"
}
],
"body": {
"message": "You have exceeded a secondary rate limit and have been temporarily blocked from content creation. Please retry your request again later.",
"documentation_url": "https://docs.github.com/rest/overview/resources-in-the-rest-api#secondary-rate-limits"
}
}
Nästa steg
Läs mer om RateLimitingPlugin
.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för