Rate-Limit API-válaszok szimulálása
Rate-Limit fejlécek a HTTP-válaszokban arra szolgálnak, hogy korlátozzák az ügyfél által egy adott időtartamon belül megadható kérések számát.
A kiszolgáló az ügyfél kérésére válaszul elküldi ezeket a fejléceket, hogy jelezze, hány kérelem engedélyezett, és hány kérelem maradjon a korlát elérése előtt.
A RateLimit-Limit
válasz fejlécmezője az ügyfélhez társított kéréskvótát jelzi az aktuális időablakban. Ha az ügyfél túllépi ezt a korlátot, előfordulhat, hogy nem lesz kiszolgálva.
Egyéni sebességkorlát támogatása
Ha túllépi a sebességkorlátot, egyes API-k egyéni viselkedést használnak, például egy 403 Forbidden
egyéni hibaüzenettel rendelkező állapotkódot ad vissza. A Dev Proxy lehetővé teszi, hogy szimulálja ezeket az egyéni viselkedéseket a Custom
whenLimitExceeded
tulajdonság értékének használatával.
Az alábbi példa bemutatja, hogyan konfigurálhatja a RateLimitingPlugin konfigurálását a devproxyrc fájlban a GitHub API sebességkorlátainak szimulálására.
{
"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"
}
}
A customResponseFile
tartalmazza azt a választ, amelyet a proxy akkor ad vissza, amikor az alkalmazás elérte a sebességkorlátot.
{
"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"
}
}
Következő lépések
További információ a következőről RateLimitingPlugin
: .
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: