UNPKG

@bitblit/ratchet-epsilon-common

Version:

Tiny adapter to simplify building API gateway Lambda APIS

30 lines (29 loc) 2.39 kB
import { FilterFunction } from '../../config/http/filter-function.js'; import { FilterChainContext } from '../../config/http/filter-chain-context.js'; import { EpsilonCorsApproach } from '../../config/http/epsilon-cors-approach.js'; export declare class BuiltInFilters { static readonly MAXIMUM_LAMBDA_BODY_SIZE_BYTES: number; static combineFilters(fCtx: FilterChainContext, filters: FilterFunction[]): Promise<boolean>; static applyGzipIfPossible(fCtx: FilterChainContext): Promise<boolean>; static addConstantHeaders(fCtx: FilterChainContext, headers: Record<string, string>): Promise<boolean>; static addAWSRequestIdHeader(fCtx: FilterChainContext, headerName?: string): Promise<boolean>; static addAllowEverythingCORSHeaders(fCtx: FilterChainContext): Promise<boolean>; static addAllowReflectionCORSHeaders(fCtx: FilterChainContext): Promise<boolean>; static uriDecodeQueryParams(fCtx: FilterChainContext): Promise<boolean>; private static decodeUriComponentAndReplacePlus; static fixStillEncodedQueryParams(fCtx: FilterChainContext): Promise<boolean>; static createRestrictServerToHostNamesFilter(hostnameRegExList: RegExp[]): FilterFunction; static disallowStringNullAsPathParameter(fCtx: FilterChainContext): Promise<boolean>; static disallowStringNullAsQueryStringParameter(fCtx: FilterChainContext): Promise<boolean>; static ensureEventMaps(fCtx: FilterChainContext): Promise<boolean>; static parseJsonBodyToObject(fCtx: FilterChainContext): Promise<boolean>; static checkMaximumLambdaBodySize(fCtx: FilterChainContext): Promise<boolean>; static validateInboundBody(fCtx: FilterChainContext): Promise<boolean>; static validateInboundQueryParams(_fCtx: FilterChainContext): Promise<boolean>; static validateInboundPathParams(_fCtx: FilterChainContext): Promise<boolean>; static validateOutboundResponse(fCtx: FilterChainContext): Promise<boolean>; static autoRespondToOptionsRequestWithCors(fCtx: FilterChainContext, corsMethod?: EpsilonCorsApproach): Promise<boolean>; static autoRespond(fCtx: FilterChainContext, inBody: any): Promise<boolean>; static secureOutboundServerErrorForProduction(fCtx: FilterChainContext, errorMessage: string, errCode: number): Promise<boolean>; static addCorsHeadersDynamically(fCtx: FilterChainContext, corsMethod: EpsilonCorsApproach): Promise<void>; }