@bitblit/epsilon
Version:
Tiny adapter to simplify building API gateway Lambda APIS
30 lines (29 loc) • 2.17 kB
TypeScript
import { FilterFunction } from '../../config/http/filter-function';
import { FilterChainContext } from '../../config/http/filter-chain-context';
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>;
/**
* Performs decodeURIComponent on a value after replacing all "+" values with spaces.
*/
private static decodeUriComponentAndReplacePlus;
static fixStillEncodedQueryParams(fCtx: FilterChainContext): Promise<boolean>;
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): Promise<boolean>;
static autoRespond(fCtx: FilterChainContext, inBody: any): Promise<boolean>;
static secureOutboundServerErrorForProduction(fCtx: FilterChainContext, errorMessage: string, errCode: number): Promise<boolean>;
}