Skip to content

Instantly share code, notes, and snippets.

@krisdover
Created December 14, 2022 00:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save krisdover/80a19b1e8acc609d40fce32bca474f3a to your computer and use it in GitHub Desktop.
Save krisdover/80a19b1e8acc609d40fce32bca474f3a to your computer and use it in GitHub Desktop.
Twilio Form URLEncoding to JSON mapping API Gateway template
#set ($keyValues = {})
#set($parametersString = $input.body)
#set($parameters = $parametersString.split("&"))
#foreach($parameter in $parameters)
#set($keyValue = $parameter.split("="))
$keyValues.put($util.urlDecode($keyValue[0]), $util.escapeJavaScript($util.urlDecode($keyValue[1])).replaceAll("\\'","'"))
#end
#set($allParams = $input.params())
{
"request" : {
"domainName": "$context.domainName",
"requestPath" : "$context.path",
#foreach($type in $allParams.keySet())
#set($params = $allParams.get($type))
"$type" : {
#foreach($paramName in $params.keySet())
"$paramName" : "$util.escapeJavaScript($params.get($paramName))"#if($foreach.hasNext),#end
#end
}#if($foreach.hasNext),#end
#end
},
#foreach($key in $keyValues.keySet())
#set($value = $keyValues.get($key))
"$key": "$value"#if($foreach.hasNext),#end
#end
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment