Sometimes, such as when you are migrating to the latest version of Node.js, you want to verify what version of Node.js your Functions are running on. The same can apply to the version of the Twilio Node.js Helper Library that you are using, since its version determines what functionality is available via the context.getTwilioClient helper.
The following code sample shows some helpful values that you can return or log for verification. To get started, follow the instructions below to create a Service and Function to host and execute the example.
In order to run any of the following examples, you will first need to create a Function into which you can paste the example code. You can create a Function using the Twilio Console or the Serverless Toolkit as explained below:
If you prefer a UI-driven approach, creating and deploying a Function can be done entirely using the Twilio Console and the following steps:
https://<service-name>-<random-characters>-<optional-domain-suffix>.twil.io/<function-path>
test-function-3548.twil.io/hello-world
.
Your Function is now ready to be invoked by HTTP requests, set as the webhook of a Twilio phone number, invoked by a Twilio Studio Run Function Widget, and more!
Copy and paste the following example code into your newly minted Function. Ensure that your Function is public, save your changes, and deploy the Service that contains this Function.
_18exports.handler = (context, event, callback) => {_18 // PATH represents the relative path of this function_18 // This value does not include the domain name_18 const path = context.PATH;_18 const nodeVersion = process.version;_18 const twilioVersion = require('twilio/package.json').version;_18_18 console.log(`Function path: ${path}`);_18 console.log(`Node.js version: ${nodeVersion}`);_18 console.log(`Twilio Helper Library version: ${twilioVersion}`);_18_18 return callback(null, {_18 status: 'complete',_18 path,_18 nodeVersion,_18 twilioVersion,_18 });_18};
While running live logs (click Enable live logs in the Console), make a GET
request to your Function using a tool such as curl or Postman. You will then see logs displaying the Function's path, as well as the versions of Node.js and the Twilio Helper Library. Your HTTP client will also receive the same data as JSON.
For example, a public Function named /versions
would log the following (with different versions, depending on when you're reading this):
_10Function path: /versions_10Node.js version: v14.18.1_10Twilio Helper Library version: 3.72.0
It would also return the following JSON response:
_10{_10 "status": "complete",_10 "path": "/versions",_10 "nodeVersion": "v14.18.1",_10 "twilioVersion": "3.72.0"_10}
This sample uses context.PATH
to log the relative path of this Function. There are several other helpful, built-in process variables that you may wish to log as well.