Skip to content

Instantly share code, notes, and snippets.

View secretshardul's full-sized avatar

ss secretshardul

View GitHub Profile
@secretshardul
secretshardul / response header mapping
Created February 4, 2020 11:07
response header mapping
integration.response.header.PARAM_NAME
@secretshardul
secretshardul / index.js
Created February 3, 2020 12:29
Demonstration for returning image from Lambda with Lambda integration. The handler simply returns 'params' parameter from the JSON object passed to it by API gateway.
exports.handler = async (event) => {
return event.params;
};
@secretshardul
secretshardul / template
Created February 3, 2020 12:17
Routes input directly to lambda
{
"params" : "$input"
}
@secretshardul
secretshardul / index.js
Created February 3, 2020 07:19
Return back binary data with correct headers using Lambda proxy integration
exports.handler = async (event) => {
return {
statusCode: 200,
isBase64Encoded: event["isBase64Encoded"],
headers: {
"Content-Type": event["headers"]["Content-Type"]
},
body: event["body"]
};
};
@secretshardul
secretshardul / lambda_proxy_response
Last active February 3, 2020 07:02
Response template for Lambda Proxy response
{
"isBase64Encoded": true|false,
"statusCode": httpStatusCode,
"headers": { "headerName": "headerValue", ... },
"multiValueHeaders": { "headerName": ["headerValue", "headerValue2", ...], ... },
"body": "..."
}
@secretshardul
secretshardul / lambda_proxy.json
Created February 3, 2020 05:38
Lambda proxy event template. This is an official test event on AWS Lambda console
{
"body": "eyJ0ZXN0IjoiYm9keSJ9",
"resource": "/{proxy+}",
"path": "/path/to/resource",
"httpMethod": "POST",
"isBase64Encoded": true,
"queryStringParameters": {
"foo": "bar"
},
"multiValueQueryStringParameters": {
@secretshardul
secretshardul / pathParamXwwForm.vtl
Last active February 3, 2020 09:52
API gateway handles path and query parameters. 'x-www-form-urlencoded' string is passed to Lambda.
{
"my_path_param" : "$input.params('my_path_param')",
"my_query_param" : "$input.params('my_query_param')",
"body": "$input"
}
@secretshardul
secretshardul / handler.js
Last active February 12, 2020 05:12
Lambda integration to parse x-www-form-urlencoded. The handler returns back the event as it is.
var qs = require('querystring')
exports.handler = async (event) => {
return event
};
@secretshardul
secretshardul / index.js
Created January 31, 2020 10:34
NodeJs function to parse x-www-form-urlencoded. This Lambda function is proxied behind an API gateway endpoint.
var qs = require('querystring')
exports.handler = async (event) => {
return {
statusCode: 200,
body: JSON.stringify({
"body": qs.parse(event.body)
})
};
};
#set($allParams = $input.params())
{
"params" : {
#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