Welcome to your new Node.js function project! The boilerplate function code can be found in index.js. This function will respond to incoming HTTP GET and POST requests. This example function is written synchronously, returning a raw value. If your function performs any asynchronous execution, you can safely add the async keyword to the function, and return a Promise.
After executing npm install, you can run this function locally by executing npm run local.
The runtime will expose three endpoints.
/The endpoint for your function./health/readinessThe endpoint for a readiness health check/health/livenessThe endpoint for a liveness health check
The parameter provided to the function endpoint at invocation is a Context object containing HTTP request information.
function handleRequest(context) {
const log = context.log;
log.info(context.httpVersion);
log.info(context.method); // the HTTP request method (only GET or POST supported)
log.info(context.query); // if query parameters are provided in a GET request
log.info(context.body); // contains the request body for a POST request
log.info(context.headers); // all HTTP headers sent with the event
}The health checks can be accessed in your browser at http://localhost:8080/health/readiness and http://localhost:8080/health/liveness. You can use curl to POST an event to the function endpoint:
curl -X POST -d '{"hello": "world"}' \
-H'Content-type: application/json' \
http://localhost:8080The readiness and liveness endpoints use overload-protection and will respond with HTTP 503 Service Unavailable with a Client-Retry header if your function is determined to be overloaded, based on the memory usage and event loop delay.
This function project includes a unit test and an integration test. All .js files in the test directory are run.
npm test