RateLimitingPlugin

Simuleert snelheidslimietgedrag.

schermopname van een opdrachtprompt met Dev Proxy die snelheidsbeperking simuleert op GitHub-API's.

Configuratievoorbeeld

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "RateLimitingPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "rateLimiting"
    }
  ],
  "rateLimiting": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/ratelimitingplugin.schema.json",
    "costPerRequest": 2,
    "rateLimit": 120
  }
}

Configuratie-eigenschappen

Eigenschap Beschrijving Verstek
headerLimit Naam van de antwoordheader die de limiet voor snelheidsbeperking communiceert RateLimit-Limit
headerRemaining Naam van de antwoordheader die het resterende aantal resources communiceert voordat het opnieuw instellen wordt ingesteld RateLimit-Remaining
headerReset Naam van de antwoordheader waarmee de resterende tijd wordt gecommuniceerd totdat het opnieuw instellen is ingesteld RateLimit-Reset
headerRetryAfter Naam van de antwoordheader die de periode voor opnieuw proberen communiceert Retry-After
costPerRequest Hoeveel resources kost een aanvraag? 2
resetTimeWindowSeconds Hoe lang in seconden tot de volgende reset 60
warningThresholdPercent Het gebruikspercentage dat wordt overschreden, begint met het retourneren van snelheidsbeperking voor antwoordheaders 80
rateLimit Aantal resources voor een tijdvenster 120
whenLimitExceeded Het gedrag dat de invoegtoepassing moet gebruiken wanneer de limiet wordt overschreden. Gebruik Throttle of Custom. Throttle
resetFormat De indeling die wordt gebruikt om te bepalen wanneer de frequentielimiet opnieuw wordt ingesteld. Gebruik SecondsLeft of UtcEpochSeconds. SecondsLeft
customResponseFile Bestand met een aangepaste foutreactie die wordt gebruikt wanneer de limiet wordt overschreden. rate-limit-response.json

Opdrachtregelopties

Geen

Remarks

Aangepaste antwoordtekst

Als u de body eigenschap in het aangepaste antwoordbestand instelt op een JSON-object of -matrix, serialiseert Dev Proxy deze naar JSON. Als u deze instelt op een tekenreeks, verzendt Dev Proxy de tekenreeks as-is, zonder omringende aanhalingstekens. Omdat de header standaard wordt Content-Type ingesteld op Dev Proxy, stelt u de Content-Type header application/jsonin op uw inhoud wanneer u bijvoorbeeld text/plainniet-JSON-inhoud retourneert.

Aangepaste antwoordheader Content-Type

Wanneer whenLimitExceeded dit is ingesteld Custom op en het aangepaste antwoord een body header heeft, maar geen header definieert Content-Type , retourneert Dev Proxy het antwoord met de Content-Type: application/json header. Als u een ander inhoudstype wilt retourneren, voegt u de Content-Type header toe aan het aangepaste antwoordbestand. Dev Proxy gebruikt de waarde die u opgeeft.

Volgende stap