in core/nodejsActionBase/platform/knative.js [471:511]
this.registerHandlers = function(app, platform) {
var httpMethods = process.env.__OW_HTTP_METHODS;
// default to "[post]" HTTP method if not defined
if (typeof httpMethods === "undefined") {
console.error("__OW_HTTP_METHODS is undefined; defaulting to '[post]' ...");
httpMethods = DEFAULT_METHOD;
} else {
if (httpMethods.startsWith('[') && httpMethods.endsWith(']')) {
httpMethods = httpMethods.substr(1, httpMethods.length);
httpMethods = httpMethods.substr(0, httpMethods.length -1);
httpMethods = httpMethods.split(',');
}
}
// default to "[post]" HTTP method if specified methods are not valid
if (!Array.isArray(httpMethods) || !Array.length) {
console.error("__OW_HTTP_METHODS is undefined; defaulting to '[post]' ...");
httpMethods = DEFAULT_METHOD;
}
httpMethods.forEach(function (method) {
switch (method.toUpperCase()) {
case http_method.get:
app.get('/', platform.run);
break;
case http_method.post:
app.post('/', platform.run);
break;
case http_method.put:
app.put('/', platform.run);
break;
case http_method.delete:
app.delete('/', platform.run);
break;
case http_method.options:
app.options('/', platform.run);
break;
default:
console.error("Environment variable '__OW_HTTP_METHODS' has an unrecognized value (" + method + ").");
}
});
};