Simulace odpovědí rozhraní API Rate-Limit
Rate-Limit hlaviček se v odpovědích HTTP používají k omezení počtu požadavků, které může klient v daném časovém období provádět.
Server odešle tyto hlavičky jako odpověď na požadavek klienta, aby bylo uvedeno, kolik požadavků je povolených a kolik požadavků zbývá, než se dosáhne limitu.
Pole RateLimit-Limit
hlavičky odpovědi označuje kvótu požadavku přidruženou ke klientovi v aktuálním časovém intervalu. Pokud klient překročí tento limit, nemusí být obsloužen.
Podpora vlastního limitu přenosové rychlosti
Když překročíte limit rychlosti, některá rozhraní API používají vlastní chování, například vrácení stavového 403 Forbidden
kódu s vlastní chybovou zprávou. Dev Proxy umožňuje simulovat toto vlastní chování pomocí Custom
hodnoty vlastnosti whenLimitExceeded
.
Následující příklad ukazuje, jak můžete nakonfigurovat způsob konfigurace RateLimitingPlugin v souboru devproxyrc pro simulaci omezení rychlosti pro rozhraní API GitHubu.
{
"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"
}
}
Obsahuje customResponseFile
odpověď, kterou proxy vrátí, když vaše aplikace dosáhla limitu rychlosti.
{
"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"
}
}
Další kroky
Další informace o .RateLimitingPlugin
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro