File tree Expand file tree Collapse file tree 2 files changed +16
-2
lines changed
lib/deploy/events/apiGateway Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Original file line number Diff line number Diff line change @@ -69,12 +69,12 @@ const LAMBDA_PROXY_REQUEST_TEMPLATE = `
69
69
#set( $map = $context.authorizer )
70
70
"authorizer": $loop,
71
71
},
72
- "body": "$util.escapeJavaScript("$body")",
72
+ "body": "$util.escapeJavaScript("$body").replaceAll("\\\\'", "'") ",
73
73
"isBase64Encoded": false
74
74
}
75
75
#end
76
76
{
77
- "input": "$util.escapeJavaScript("$smInput")",
77
+ "input": "$util.escapeJavaScript("$smInput").replaceAll("\\\\'", "'") ",
78
78
"name":"$context.requestId",
79
79
"stateMachineArn":"\${StateMachineArn}"
80
80
}` ;
Original file line number Diff line number Diff line change @@ -284,6 +284,20 @@ describe('#methods()', () => {
284
284
} ) ;
285
285
} ) ;
286
286
287
+ describe ( '#getLambdaProxyRequestTemplates()' , ( ) => {
288
+ it ( 'application/json proxy template should not have escaped single quotes' , ( ) => {
289
+ const lambdaProxyRequestTemplate = serverlessStepFunctions
290
+ . getLambdaProxyRequestTemplates ( 'stateMachine' , undefined ) ;
291
+
292
+ // Using negative lookahead, look for escapeJavaScript calls without the
293
+ // required stripping of escaped single quotes after
294
+ const escapeJavascriptPattern = / \$ u t i l .e s c a p e J a v a S c r i p t \( " \$ \w + " \) / ;
295
+ const unescapeSingleQuotesPattern = / \. r e p l a c e A l l \( " \\ \\ ' " , * " ' " \) / ;
296
+ const regExp = new RegExp ( `${ escapeJavascriptPattern . source } (?!${ unescapeSingleQuotesPattern . source } )` ) ;
297
+ expect ( lambdaProxyRequestTemplate [ 'application/json' ] [ 'Fn::Sub' ] [ 0 ] ) . not . to . match ( regExp ) ;
298
+ } ) ;
299
+ } ) ;
300
+
287
301
describe ( '#getMethodResponses()' , ( ) => {
288
302
it ( 'should return a corresponding methodResponses resource' , ( ) => {
289
303
expect ( serverlessStepFunctions . getMethodResponses ( ) . Properties )
You can’t perform that action at this time.
0 commit comments