module.exports=function()

in templates/master/routes/util/lambda.js [6:89]


module.exports=function(params){
    return clean({
    "Type": "AWS::ApiGateway::Method",
    "Properties": {
        "AuthorizationType":params.authorization || "NONE",
        "AuthorizerId":params.authorizerId,
        "HttpMethod": params.method.toUpperCase(),
        "Integration": {
          "Type": "AWS",
          "IntegrationHttpMethod": "POST",
          "Uri": {
            "Fn::Join": ["",[
                "arn:aws:apigateway:",
                {"Ref": "AWS::Region"},
                ":lambda:path/2015-03-31/functions/",
                params.lambda || {  "Fn::Join": [ ":", [
                  {"Fn::GetAtt":["FulfillmentLambda","Arn"]},
                  "live"
                ]]},
                "/invocations"
            ]]
          },
          "IntegrationResponses": _.concat({   
                "StatusCode": params.defaultResponse || 200,
                "ResponseParameters":params.responseParameters,
                "ResponseTemplates":{
                    "application/json":{"Fn::Sub":params.responseTemplate}
                }
            },{   
                "SelectionPattern":".*[InternalServiceError].*",
                "StatusCode": 500,
                "ResponseTemplates":{
                    "application/json":fs.readFileSync(__dirname+"/../error/error.vm",'utf8')
                }
            },{   
                "SelectionPattern":".*[BadRequest].*",
                "StatusCode": 400,
                "ResponseTemplates":{
                    "application/json":fs.readFileSync(__dirname+"/../error/error.vm",'utf8')
                }
            },{   
                "SelectionPattern":".*[Conflict].*",
                "StatusCode": 409,
                "ResponseTemplates":{
                    "application/json":fs.readFileSync(__dirname+"/../error/error.vm",'utf8')
                }
            },{   
                "SelectionPattern":".*[NotFound].*",
                "StatusCode": 404,
                "ResponseTemplates":{
                    "application/json":fs.readFileSync(__dirname+"/../error/error.vm",'utf8')
                }
            }
          ),
          "RequestParameters":params.parameterNames,
          "RequestTemplates": {
            "application/json":params.subTemplate ? 
                {"Fn::Sub":params.subTemplate} :
                params.template 
          }
        },
        "RequestModels":params.models,
        "RequestParameters":params.parameterLocations,
        "ResourceId": params.resource,
        "MethodResponses": [
          {
            "StatusCode": params.defaultResponse || 200,
            "ResponseParameters":Object.assign({
                "method.response.header.date":true
            },_.mapValues(params.responseParameters,x=>false))
          },
          {
            "StatusCode": 404
          },
          {
            "StatusCode": 500
          }
        ],
        "RestApiId":{"Ref":"API"}
      }
    },{
        emptyStrings:false 
    })
}