@bitblit/ratchet-epsilon-common
Version:
Tiny adapter to simplify building API gateway Lambda APIS
30 lines (29 loc) • 2.39 kB
TypeScript
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>;
}