Rate Limiter

TsgcWSRateLimiter — a full-featured rate limiting component that protects server endpoints from excessive traffic, abuse and scraping. Three algorithms, four scopes, long-term quotas and standards-compliant HTTP 429 responses.

TsgcWSRateLimiter

Token-bucket rate limiter. Caps requests per second per client (or per IP) on any WebSocket or HTTP server you attach it to.

Klasa komponentu

TsgcWSRateLimiter

Protokół

Server-side admission control — attaches to any sgc server.

Platformy

Windows, macOS, Linux, iOS, Android

Edycja

Professional / Enterprise

Drop the component, set a few properties, go

Configure rate + burst, hook OnRateLimited, attach to your server.

uses
  sgcWebSocket, sgcWebSocket_Server, sgcRateLimiter;

var
  RL: TsgcWSRateLimiter;
  WSServer: TsgcWebSocketHTTPServer;
begin
  RL := TsgcWSRateLimiter.Create(nil);
  RL.RequestsPerSecond := 20;
  RL.BurstSize         := 50;
  RL.OnRateLimited     := DoRateLimited;

  WSServer := TsgcWebSocketHTTPServer.Create(nil);
  WSServer.Port := 80;
  WSServer.RateLimiter := RL;
  WSServer.Active := True;
end;

Co jest w środku

13 published properties, 12 methods, 3 events — pulled from the component reference.

Diagnostics

Published properties: Stats.

Core

Properties: Enabled.

Algorithms

Properties: TokenBucket, SlidingWindow, FixedWindow.

Scoping

Properties: PerIP, PerAPIKey, PerUser.

Response

Properties: Response.

Persistence

Properties: StorageFile.

Dokumentacja i dema

Bezpośredni link do dokumentacji komponentu, gotowy do uruchomienia projekt demo i pobieranie wersji próbnej.

Demo Project — 01.WebSocket\09.RateLimiter Gotowy do uruchomienia projekt przykładowy. Dostarczany w pakiecie sgcWebSockets — pobierz wersję próbną poniżej.
Dokument techniczny (PDF) Funkcje, szybki start, przykłady kodu dla Delphi i C++ Builder oraz źródła pierwotne — tylko ten komponent.
Podręcznik użytkownika (PDF) Kompleksowy podręcznik obejmujący każdy komponent biblioteki.

Protect Your Endpoints From Abuse

Pobierz bezpłatną wersję próbną i ogranicz tempo your sgcWebSockets servers in minutes.