/**
 * Describe the basic method of Cloud Functions
 */

// [Start sampleFunction_js]
let myHandler = function (event, context, callback, logger) {

    let env1 = context.env.env1;
    logger.info("Test info log");
    logger.warn("Test warn log");
    logger.debug("Test debug log");
    logger.error("Test error log");

    logger.info("--------Start-------");
    try {
        let startTime = new Date().getTime();
        let endTime = startTime;
        let interval = 0;
        startTime = process.uptime() * 1000;

        logger.info("request: " + JSON.stringify(event.request));
        logger.info("env1: " + env1);

        endTime = process.uptime() * 1000;
        interval = endTime - startTime;
        logger.info("intervalTime: " + interval);
        logger.info("--------Finished-------");

        let res = new context.HTTPResponse(context.env, {
            "res-type": "context.env",
            "faas-content-type": "json"
        }, "application/json", "200");
        res.body = { "intervalTime": interval };
        callback(res);
    } catch (error) {
        logger.error("--------Error-------");
        logger.error("error: " + error);
        callback(error);
    }
};

module.exports.myHandler = myHandler;
// [End sampleFunction_js]