in source/custom-resources/lib/solution/metrics.js [34:79]
static async sendAnonymousData(data, env) {
return new Promise((resolve, reject) => {
const payload = Object.assign({
Solution: process.env.ENV_SOLUTION_ID,
UUID: process.env.ENV_METRICS_UUID,
TimeStamp: (new Date()).toISOString().replace('T', ' ').replace('Z', ''),
Data: data,
}, env);
if (!payload.Data || !payload.Solution || !payload.UUID) {
resolve(undefined);
}
const buffers = [];
const params = {
hostname: Metrics.Constants.Host,
port: 443,
path: Metrics.Constants.Path,
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
};
const request = HTTPS.request(params, (response) => {
response.on('data', chunk =>
buffers.push(chunk));
response.on('end', () => {
if (response.statusCode >= 400) {
reject(new Error(`${response.statusCode} ${response.statusMessage} ${params.hostname}`));
return;
}
resolve(Buffer.concat(buffers));
});
});
request.write(JSON.stringify(payload));
request.on('error', e =>
reject(e));
request.end();
});
}