1.2.2 • Published 2 years ago
@cchandragiri/runtime-handler v1.2.2
runtime-handler
Runtime Handler that bootstraps all Functions lambda requests
Scaffolding
See runtime-handler.json.
application (object)
An object to the Runtime Handler lambda function that bootstraps the RuntimeHandler app.
paths (object)
Path to all directories. Currently these are:
- files: Private asset files not open to the public.
- public: Public asset files open to the public.
- handlers: Path to all handlers. Each handler would live in a folder in this directory.
- app: Root path to the app directory where RuntimeHandler app would live.
dependencies (object)
Contains all node_modules
dependencies.
handlers (objects)
A key/value pair of url path to handler file path. The format is:
{
"url/path": {
"path": "folderName/fileName.functionName"
},
"url/path": "path/to/public/asset/file"
}
If the value is a string, then we treat this as a public asset file (for example to a CSS file or an HTML file). If the value is an object, then we treat this as a handler.
The path is relative to the paths.handlers
.
Here is a simple example:
{
"incoming_call": {
"type": "simple",
"path": "ivr/index.handler"
},
"incoming_message": {
"type": "advanced",
"path": "sms/index.handler"
},
"index.html": "myApp.html"
}
There are two handler paths: /incoming_call
and /incoming_message
:
// URL /incoming_call to file path /var/www/handlers/ivr/index.js
exports.handler = function (event, context, callback) {
// Do cool things
}
// URL /incoming_message to file path /var/www/handlers/sms/index.js
exports.handler = function (context, request, response) {
// Do even cooler things
}
The public/static path index.html
refers to the file /var/www/files/myApp.html
.
Release Process
- Change the version in the package.json of runtime-handler (this repo).
- Create a release here: https://build.corp.twilio.com/job/serverless.runtime-handler.master/
- Use the release-runtime-handler script (included in this repo) to put this version in S3.
- Redeploy serverless-packager (force redeploy) so that the hosts are restarted and pull the new version from S3. Verify that it was successful by checking in
/mnt/runtime-handlers
on the packager hosts. You should see the version number as a directory name, and you can verify that the proper changes are in that version. - Reach out to toolkit team to release the new version of Runtime-handler from their side.
- Deployments with the new version will succeed after the step 4.
1.2.2
2 years ago