UNPKG

serverless-aws-lambda

Version:

AWS Application Load Balancer and API Gateway - Lambda dev tool for Serverless. Allows Express synthax in handlers. Supports packaging, local invoking and offline ALB, APG, S3, SNS, SQS, DynamoDB Stream server mocking.

96 lines (95 loc) 3.17 kB
import { Writable } from "stream"; import type { WritableOptions } from "stream"; interface IResponseStream { cork: Writable["cork"]; /** * Do not use. This may lead to unexcepted result in AWS Lambda Runtime. * @deprecated */ destroy: Writable["destroy"]; end: Writable["end"]; uncork: Writable["uncork"]; write: Writable["write"]; addListener: Writable["addListener"]; emit: Writable["emit"]; eventNames: Writable["eventNames"]; getMaxListeners: Writable["getMaxListeners"]; listenerCount: Writable["listenerCount"]; listeners: Writable["listeners"]; off: Writable["off"]; on: Writable["on"]; once: Writable["once"]; prependListener: Writable["prependListener"]; prependOnceListener: Writable["prependOnceListener"]; rawListeners: Writable["rawListeners"]; removeAllListeners: Writable["removeAllListeners"]; removeListener: Writable["removeListener"]; setMaxListeners: Writable["setMaxListeners"]; /** * @param {any} contentType must be a string or implement toString() * @throws Error */ setContentType: (contentType: any) => void; writable: boolean; readonly writableEnded: boolean; readonly writableFinished: boolean; readonly writableHighWaterMark: number; readonly writableLength: number; readonly writableObjectMode: boolean; readonly writableNeedDrain: boolean; readonly writableCorked: number; destroyed: boolean; /** * used by AWS inside HttpResponseStream.from function * @internal */ _onBeforeFirstWrite?: (write: Writable["write"]) => any; } interface IStreamableHandlerContext { callbackwaitsforemptyeventloop: boolean; functionVersion: string; functionName: string; memoryLimitInMB: string; logGroupName: string; logStreamName: string; clientContext: any; identity: any; invokedFunctionArn: string; awsRequestId: string; getRemainingTimeInMillis: () => number; } export type StreamableHandler = (event: any, responseStream: IResponseStream, context?: IStreamableHandlerContext) => Promise<any | void>; interface IMetadata { statusCode?: number; headers?: { [key: string]: string; }; cookies?: string[]; body?: string | Buffer; isBase64Encoded?: boolean; } export declare class ResponseStream extends Writable { #private; _onBeforeFirstWrite?: (write: Writable["write"]) => any; constructor(opts: Partial<WritableOptions>); setContentType: (contentType: any) => void; } export interface IHttpResponseStream { /** * @param {any} metadata http proxy integration response object. * * This could also be 'any' byte to be written before all write.() executions. * * Metadata will be wrapped into JSON.stringify(). * * `{statusCode: 404, cookies: ["hello=world"]}` * * * @throws Error */ from: (responseStream: IResponseStream, metadata: IMetadata) => IResponseStream; } export declare class HttpResponseStream { static from: (responseStream: IResponseStream, metadata: IMetadata) => IResponseStream; } export {};