From 25d5c654850158a7a74678860694f7e2e9c41152 Mon Sep 17 00:00:00 2001 From: Seoker Wang Date: Fri, 5 May 2017 00:55:05 +0800 Subject: [PATCH] escape disallowed characters --- lib/main.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/main.js b/lib/main.js index f8262d70..5464be8f 100644 --- a/lib/main.js +++ b/lib/main.js @@ -92,7 +92,9 @@ Lambda.prototype._runHandler = function (handler, event, program, context) { Lambda.prototype._params = function (program, buffer) { var params = { - FunctionName: program.functionName + (program.environment ? '-' + program.environment : ''), + FunctionName: program.functionName + + (program.environment ? '-' + program.environment : '') + + (program.lambdaVersion ? '-' + program.lambdaVersion : ''), Code: { ZipFile: buffer }, @@ -117,9 +119,10 @@ Lambda.prototype._params = function (program, buffer) { Mode: null } }; - if (program.lambdaVersion) { - params.FunctionName += ('-' + program.lambdaVersion); - } + + // Escape characters that is not allowed by AWS Lambda + params.FunctionName = params.FunctionName.replace(/[^a-zA-Z0-9-_]/g, '_'); + if (program.vpcSubnets && program.vpcSecurityGroups) { params.VpcConfig = { 'SubnetIds': program.vpcSubnets.split(','),