Merge pull request #28820 from psxpaul/master

Add optional proxy resolutionMode parameter for aws-serverless-express 3.3.x
This commit is contained in:
Nathan Shively-Sanders
2018-09-18 11:16:11 -07:00
committed by GitHub
2 changed files with 37 additions and 2 deletions
@@ -27,3 +27,6 @@ const mockContext = {
};
awsServerlessExpress.proxy(server, mockEvent, mockContext);
awsServerlessExpress.proxy(server, mockEvent, mockContext, 'CALLBACK', () => {});
awsServerlessExpress.proxy(server, mockEvent, mockContext, 'CONTEXT_SUCCEED');
awsServerlessExpress.proxy(server, mockEvent, mockContext, 'PROMISE').promise.then((response: awsServerlessExpress.Response) => {}).catch(err => {});
+34 -2
View File
@@ -1,4 +1,4 @@
// Type definitions for aws-serverless-express 3.0
// Type definitions for aws-serverless-express 3.3
// Project: https://github.com/awslabs/aws-serverless-express
// Definitions by: Ben Speakman <https://github.com/threesquared>
// Josh Caffey <https://github.com/jcaffey>
@@ -11,6 +11,16 @@
import * as http from 'http';
import * as lambda from 'aws-lambda';
export interface Response {
statusCode: number;
body: string;
headers: {};
}
export interface ProxyResult {
promise: Promise<Response>;
}
export function createServer(
requestListener: (request: http.IncomingMessage, response: http.ServerResponse) => void,
serverListenCallback?: () => any,
@@ -20,5 +30,27 @@ export function createServer(
export function proxy(
server: http.Server,
event: any,
context: lambda.Context
context: lambda.Context,
): http.Server;
export function proxy(
server: http.Server,
event: any,
context: lambda.Context,
resolutionMode: 'CONTEXT_SUCCEED',
): void;
export function proxy(
server: http.Server,
event: any,
context: lambda.Context,
resolutionMode: 'PROMISE'
): ProxyResult;
export function proxy(
server: http.Server,
event: any,
context: lambda.Context,
resolutionMode: 'CALLBACK',
callback?: (error: any, response: Response) => void
): void;