Serverless web framework for AWS λ and Azure Functions
This framework is heavily inspired by koa.
$ npm install --save bragg
Adding a single function as middleware is quite easy. The following example will result in a 200
response with
the body set to Foo Bar
.
const bragg = require('bragg');
const app = bragg();
app.use(ctx => {
ctx.body = 'Foo Bar';
});
exports.handler = app.listen();
If a promise is assigned to the body
property, it will be resolved before sending the result to the client.
const bragg = require('bragg');
const app = bragg();
app.use(ctx => {
ctx.body = Promise.resolve('Foo Bar');
});
exports.handler = app.listen();
Multiple middlewares will be executed one after the other. The result of the following example is Foo Bar Baz
.
const bragg = require('bragg');
const app = bragg();
app.use(() => {
return 'Foo';
});
app.use((ctx, result) => {
return Promise.resolve(result + ' Bar');
});
app.use((ctx, result) => {
ctx.body = result + ' Baz';
});
exports.handler = app.listen();
- bragg-router - Router middleware.
- bragg-env - Extract the environment.
- bragg-decode-components - Decode the
params
andquery
object. - bragg-safe-guard - Prevents leaking information outside the bragg context.
- bragg-sns - SNS middleware.
- bragg-kinesis - Kinesis middleware.
- bragg-dynamodb - DynamoDB middleware.
- bragg-cloudwatch - CloudWatch middleware.
- bragg-cron - Cronjob middleware.
- bragg-kms-decrypt - Decrypt properties from the response object.
MIT © Sam Verschueren