Skip to content

GuardMiddlewareProtocol

Defined in: core/src/protocols/middleware.ts:7

readonly agentHandler: AgentHandlerProtocol | null

Defined in: core/src/protocols/middleware.ts:16


readonly config: object

Defined in: core/src/protocols/middleware.ts:8

agentApiKey: string | null

agentBufferSize: number

agentEnableEvents: boolean

agentEnableMetrics: boolean

agentEndpoint: string

agentFlushInterval: number

agentProjectId: string | null

agentRetryAttempts: number

agentTimeout: number

autoBanDuration: number

autoBanThreshold: number

blacklist: string[]

blockCloudProviders: Set<"AWS" | "GCP" | "Azure">

blockedCountries: string[]

blockedUserAgents: string[]

cloudIpRefreshInterval: number

corsAllowCredentials: boolean

corsAllowHeaders: string[]

corsAllowMethods: string[]

corsAllowOrigins: string[]

corsExposeHeaders: string[]

corsMaxAge: number

customErrorResponses: Record<number, string>

customLogFile: string | null

optional customRequestCheck?: (req) => Promise<GuardResponse | null>

GuardRequest

Promise<GuardResponse | null>

optional customResponseModifier?: (res) => Promise<GuardResponse>

GuardResponse

Promise<GuardResponse>

detectionAnomalyThreshold: number

detectionCompilerTimeout: number

detectionMaxContentLength: number

detectionMaxTrackedPatterns: number

detectionMonitorHistorySize: number

detectionPreserveAttackPatterns: boolean

detectionSemanticThreshold: number

detectionSlowPatternThreshold: number

dynamicRuleInterval: number

emergencyMode: boolean

emergencyWhitelist: string[]

enableAgent: boolean

enableCors: boolean

enableDynamicRules: boolean

enableIpBanning: boolean

enablePenetrationDetection: boolean

enableRateLimiting: boolean

enableRedis: boolean

endpointRateLimits: Record<string, [number, number]>

enforceHttps: boolean

excludePaths: string[]

optional geoIpHandler?: GeoIPHandler

optional geoResolver?: (ip) => string | null

string

string | null

logFormat: "text" | "json"

optional logger?: Logger

logRequestLevel: "INFO" | "DEBUG" | "WARNING" | "ERROR" | "CRITICAL" | null

logSuspiciousLevel: "INFO" | "DEBUG" | "WARNING" | "ERROR" | "CRITICAL" | null

passiveMode: boolean

rateLimit: number

rateLimitWindow: number

redisPrefix: string

redisUrl: string

securityHeaders: { contentTypeOptions: string; csp: Record<string, string[]> | null; custom: Record<string, string> | null; enabled: boolean; frameOptions: "DENY" | "SAMEORIGIN"; hsts?: { includeSubdomains: boolean; maxAge: number; preload: boolean; }; permissionsPolicy: string; referrerPolicy: string; xssProtection: string; } | null

trustedProxies: string[]

trustedProxyDepth: number

trustXForwardedProto: boolean

whitelist: string[] | null

whitelistCountries: string[]


readonly eventBus: unknown

Defined in: core/src/protocols/middleware.ts:12


readonly geoIpHandler: GeoIPHandler | null

Defined in: core/src/protocols/middleware.ts:17


readonly guardResponseFactory: GuardResponseFactory

Defined in: core/src/protocols/middleware.ts:18


lastCloudIpRefresh: number

Defined in: core/src/protocols/middleware.ts:10


readonly logger: Logger

Defined in: core/src/protocols/middleware.ts:9


readonly rateLimitHandler: unknown

Defined in: core/src/protocols/middleware.ts:15


readonly responseFactory: unknown

Defined in: core/src/protocols/middleware.ts:14


readonly routeResolver: unknown

Defined in: core/src/protocols/middleware.ts:13


suspiciousRequestCounts: Map<string, number>

Defined in: core/src/protocols/middleware.ts:11

createErrorResponse(statusCode, defaultMessage): Promise<GuardResponse>

Defined in: core/src/protocols/middleware.ts:19

number

string

Promise<GuardResponse>


refreshCloudIpRanges(): Promise<void>

Defined in: core/src/protocols/middleware.ts:20

Promise<void>