Lolo/HTTP Multi-Trigger
Set up a HTTP Trigger with Multiple HTTP Methods
This library function lets you set up a multi-method HTTP trigger with the option of adding auth and a JSON schema. It requires you to send back an emit('response') to successfully respond the HTTP request.
Once you have saved and deployed you will be able to see your endpoints in the Docs of your application.
Simple Usage
Simply specify your path name under Parameters in the library function and then remove ports if you want to remove certain actions.
To send back a response use the same emit('response') method in the connecting node as you do with a simple HTTP trigger.
exports.handler = async(ev, ctx) => {
const { emit } = ctx;
// Emit response
emit('response', { statusCode: '200', ev });
};
Adding a JSON Schema
You may also add in a JSON schema validator that will validate the body of the request for POST, PUT and PATCH. Example JSON schema with name as required and age as optional.
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "user name"
},
"age": {
"type": "integer"
}
},
"required": [
"name"
]
}
Use this JSON schema builder tool for help.
Adding Authentication
Additionally, you may add in authentication and authorization to keep the endpoints private. This library function uses Lolo Authentication which requires a user to provide a valid API key connected to their Lolo account to be granted access. When adding Authentication here you will need to provide a Lolo-Api-Key in the header to access the endpoints.
const options = {
...
headers: {
...,
'Lolo-Api-Key': "your key here",
...
},
...
Do remember that anyone with a Lolo account may access this if you don't specify the Lolo accounts that should be granted access.
Adding Authorization
If you've added Lolo Auth then you can specify which Lolo accounts should have access to these endpoints. Add in the email/s of the Lolo account/s that should be granted access. The library function extracts user data coming from the API key and checks it against the email you provide here. If none are specified, all Lolo users with a valid API key will be able granted access. Read more about Lolo Authentication here, although not necessary to use this.
Once you have saved and deployed you can see your endpoints under Docs in the application. Use Postman to test the endpoints if you have added auth.
Youtube Video Tutorial
If you want to follow us demonstrating this library function via a tutorial see the video below.
Updated about 2 years ago