sendAnonymousMetric()

in source/custom-resource/lib/usage-metrics/metrics.common.js [28:70]


    sendAnonymousMetric(metric) {

        return new Promise((resolve, reject) => {

            let _options = {
                hostname: this.endpoint,
                port: 443,
                path: '/generic',
                method: 'POST',
                headers: {
                    'Content-Type': 'application/json'
                }
            };

            let request = https.request(_options, function(response) {
                // data is streamed in chunks from the server
                // so we have to handle the "data" event
                let buffer;
                let data;
                let route;

                response.on('data', function(chunk) {
                    buffer += chunk;
                });

                response.on('end', function(err) {
                    resolve('metric sent');
                });
            });

            if (metric) {
                request.write(JSON.stringify(metric));
            }

            request.end();

            request.on('error', (e) => {
                console.error(e);
                reject(['Error occurred when sending metric request.', JSON.stringify(_payload)].join(' '));
            });
        });

    }