Crypto Server
    Preparing search index...

    Variable rateLimitOptionsConst

    rateLimitOptions: {
        global: boolean;
        max: number;
        timeWindow: string;
        allowList: string[];
        nameSpace: string;
        addHeaders: {
            "x-ratelimit-limit": boolean;
            "x-ratelimit-remaining": boolean;
            "x-ratelimit-reset": boolean;
            "retry-after": boolean;
        };
        errorResponseBuilder(
            req: { ip: string; log: { warn: (msg: string) => void } },
            context: { max: number; after: string; ttl: number },
        ): {
            code: number;
            error: string;
            message: string;
            date: number;
            expiresIn: number;
        };
    } = ...

    Type Declaration

    • global: boolean

      Apply rate limiting to all routes.

    • max: number

      Maximum number of requests per time window.

    • timeWindow: string

      Duration of the sliding rate-limit window.

    • allowList: string[]

      IP addresses exempt from rate limiting.

    • nameSpace: string

      Redis/store key prefix for rate-limit counters.

    • addHeaders: {
          "x-ratelimit-limit": boolean;
          "x-ratelimit-remaining": boolean;
          "x-ratelimit-reset": boolean;
          "retry-after": boolean;
      }

      Rate-limit headers to include in responses.

      • x-ratelimit-limit: boolean

        Include the X-RateLimit-Limit header.

      • x-ratelimit-remaining: boolean

        Include the X-RateLimit-Remaining header.

      • x-ratelimit-reset: boolean

        Include the X-RateLimit-Reset header.

      • retry-after: boolean

        Include the Retry-After header.

    • errorResponseBuilder: function
      • Builds the JSON body returned when a client is rate-limited.

        Parameters

        • req: { ip: string; log: { warn: (msg: string) => void } }
        • context: { max: number; after: string; ttl: number }

        Returns {
            code: number;
            error: string;
            message: string;
            date: number;
            expiresIn: number;
        }

        • code: number

          HTTP status code.

        • error: string

          Error name.

        • message: string

          Human-readable rate-limit explanation.

        • date: number

          Timestamp when the error occurred (epoch ms).

        • expiresIn: number

          Milliseconds until the rate-limit window resets.

    rateLimitOptions Configuration options for the rate-limit plugin.