From 00453069d85e4e7cf0c3c8cb22e8be43ce759c64 Mon Sep 17 00:00:00 2001 From: Felix Haus Date: Mon, 21 Dec 2020 21:28:52 +0100 Subject: [PATCH] Changes Lambda@Edge Timeout to 30s --- packages/proxy/src/handler.ts | 8 +++++--- test/lib/generateProxyModel.ts | 5 +++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/proxy/src/handler.ts b/packages/proxy/src/handler.ts index aee9cbc0..eef8c499 100644 --- a/packages/proxy/src/handler.ts +++ b/packages/proxy/src/handler.ts @@ -19,9 +19,11 @@ function convertToCustomHeaders( return cloudFrontHeaders; } -// Timeout the connection before 5000ms to be able to print an error message -// https://stackoverflow.com/a/49857905/831465 -function fetchTimeout(url: string, options?: RequestInit, timeout = 4800) { +// Timeout the connection before 30000ms to be able to print an error message +// See Lambda@Edge Limits for origin-request event here: +// https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-requirements-limits.html#lambda-requirements-see-limits +// Promise.race: https://stackoverflow.com/a/49857905/831465 +function fetchTimeout(url: string, options?: RequestInit, timeout = 29500) { return Promise.race([ fetch(url, options), new Promise((_, reject) => diff --git a/test/lib/generateProxyModel.ts b/test/lib/generateProxyModel.ts index 98e14e8d..07c4da69 100644 --- a/test/lib/generateProxyModel.ts +++ b/test/lib/generateProxyModel.ts @@ -62,14 +62,15 @@ export async function generateProxySAM({ ); SAMTemplate.Resources[LambdaFunctionName] = { Type: 'AWS::Serverless::Function', - // See resource limits for Lambda@Edge + // See resource limits for Lambda@Edge. + // We use Origin request event for the proxy // https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-requirements-limits.html#lambda-requirements-see-limits Properties: { Handler: `${LambdaFunctionName}/handler.handler`, Description: 'Lambda@Edge Proxy', Runtime: 'nodejs12.x', MemorySize: 128, - Timeout: 5, + Timeout: 30, }, };