baggywrinkle
Want to reduce chafing when using Sails actions inside of AWS Lambda? Baggywrinkle is the answer!
Baggywrinkle builds a modified version of a machine that proxies its inputs from the Lambda function's event
argument, and proxies its exits through the Lambda function's callback. It is intended to be used with Lambda functions that are triggered via the AWS API Gateway (that is, via HTTP requests).
$ npm install baggywrinkle --save
Usage
var lambdaFunction = require('baggywrinkle')(actionMachine);
Example
var asLambda = require('baggywrinkle');
module.exports = asLambda({
inputs: {
name: {
example: 'Joe',
description: 'The person to greet'
}
},
exits: {
success: {
statusCode: 200,
description: 'Greeting was successful!'
}
}
fn: function (inputs, exits) {
return exits.success(`Hello ${inputs.name}!`);
}
});
Note that the input to Baggywrinkle can be either:
Options
For available options, see the machine-as-action documentation. Note however that Baggywrinkle does not currently support:
- The
view
response type - The
redirect
response type - Custom Sails response types such as
badRequest
- File uploads
- Streaming
Bugs
To report a bug, click here.
Contributing
Please observe the guidelines and conventions laid out in the Sails project contribution guide when opening issues or submitting pull requests.
License
MIT © 2015-2016 The Sails Company
The Sails framework is free and open-source under the MIT License.