RateLimit Module

Rate limiting module for Suave web server

Types

Type Description

RateLimitConfig

Configuration for rate limiting

RateLimitStrategy

Strategy for rate limiting

Functions and values

Function or value Description

defaultConfig

Full Usage: defaultConfig

Returns: RateLimitConfig

Create default rate limit configuration

Returns: RateLimitConfig

defaultKeyExtractor ctx

Full Usage: defaultKeyExtractor ctx

Parameters:
Returns: string

Default key extractor - uses client IP address

ctx : HttpContext
Returns: string

getStats keyExtractor ctx

Full Usage: getStats keyExtractor ctx

Parameters:
Returns: Map<string, obj> option

Get current rate limit statistics for a key

keyExtractor : HttpContext -> string
ctx : HttpContext
Returns: Map<string, obj> option

headerKeyExtractor headerName ctx

Full Usage: headerKeyExtractor headerName ctx

Parameters:
Returns: string

Key extractor based on custom header

headerName : string
ctx : HttpContext
Returns: string

perHour requests

Full Usage: perHour requests

Parameters:
    requests : int

Returns: RateLimitConfig

Create a rate limiter with requests per hour

requests : int
Returns: RateLimitConfig

perMinute requests

Full Usage: perMinute requests

Parameters:
    requests : int

Returns: RateLimitConfig

Create a rate limiter with requests per minute

requests : int
Returns: RateLimitConfig

perSecond requests

Full Usage: perSecond requests

Parameters:
    requests : int

Returns: RateLimitConfig

Create a rate limiter with requests per second

requests : int
Returns: RateLimitConfig

rateLimit config protectedPart ctx

Full Usage: rateLimit config protectedPart ctx

Parameters:
Returns: Async<HttpContext option>

Rate limiting WebPart that wraps another WebPart

config : RateLimitConfig
protectedPart : WebPart
ctx : HttpContext
Returns: Async<HttpContext option>

userKeyExtractor ctx

Full Usage: userKeyExtractor ctx

Parameters:
Returns: string

Key extractor based on user identity

ctx : HttpContext
Returns: string

withKeyExtractor extractor config

Full Usage: withKeyExtractor extractor config

Parameters:
Returns: RateLimitConfig

Set the key extractor function

extractor : HttpContext -> string
config : RateLimitConfig
Returns: RateLimitConfig

withMessage message config

Full Usage: withMessage message config

Parameters:
Returns: RateLimitConfig

Set the message when rate limit is exceeded

message : string
config : RateLimitConfig
Returns: RateLimitConfig

withRetryAfter seconds config

Full Usage: withRetryAfter seconds config

Parameters:
Returns: RateLimitConfig

Set the Retry-After header value

seconds : int
config : RateLimitConfig
Returns: RateLimitConfig

withStrategy strategy config

Full Usage: withStrategy strategy config

Parameters:
Returns: RateLimitConfig

Set the rate limiting strategy

strategy : RateLimitStrategy
config : RateLimitConfig
Returns: RateLimitConfig