22
33const _ = require ( 'lodash' )
44
5+ const requestParameterIsQuerystring = ( _value , parameter ) =>
6+ parameter . trim ( ) . startsWith ( 'integration.request.querystring.' )
7+
58module . exports = {
69 compileMethodsToSqs ( ) {
710 this . validated . events . forEach ( ( event ) => {
@@ -48,12 +51,6 @@ module.exports = {
4851 'Fn::GetAtt' : [ 'ApigatewayToSqsRole' , 'Arn' ]
4952 }
5053
51- const isQuerystring = ( _value , parameter ) =>
52- parameter . trim ( ) . startsWith ( 'integration.request.querystring.' )
53-
54- const requestParametersQuerystrings = _ . pickBy ( http . requestParameters , isQuerystring )
55- const requestParametersOthers = _ . omitBy ( http . requestParameters , isQuerystring )
56-
5754 const integration = {
5855 IntegrationHttpMethod : 'POST' ,
5956 Type : 'AWS' ,
@@ -69,9 +66,9 @@ module.exports = {
6966 {
7067 'integration.request.header.Content-Type' : "'application/x-www-form-urlencoded'"
7168 } ,
72- requestParametersOthers
69+ _ . omitBy ( http . requestParameters , requestParameterIsQuerystring )
7370 ) ,
74- RequestTemplates : this . getSqsIntegrationRequestTemplates ( http , requestParametersQuerystrings )
71+ RequestTemplates : this . getSqsIntegrationRequestTemplates ( http )
7572 }
7673
7774 let integrationResponse
@@ -146,9 +143,13 @@ module.exports = {
146143 }
147144 } ,
148145
149- getSqsIntegrationRequestTemplates ( http , requestParametersQuerystrings ) {
146+ getSqsIntegrationRequestTemplates ( http ) {
150147 const defaultRequestTemplates = this . getDefaultSqsRequestTemplates ( http )
151148 const customRequestTemplates = _ . get ( http , [ 'request' , 'template' ] )
149+ let requestParametersQuerystrings = _ . pickBy (
150+ http . requestParameters ,
151+ requestParameterIsQuerystring
152+ )
152153
153154 if ( _ . isEmpty ( customRequestTemplates ) && ! _ . isEmpty ( requestParametersQuerystrings ) ) {
154155 requestParametersQuerystrings = _ . map ( requestParametersQuerystrings , ( value , parameter ) => {
0 commit comments