in packages/core/lib/segments/plugins/ec2_plugin.js [58:93]
function getToken(callback) {
const httpReq = http.__request ? http.__request : http.request;
const TTL = 60; //seconds
const TOKEN_PATH = '/latest/api/token';
const options = getOptions(TOKEN_PATH, 'PUT', {
'X-aws-ec2-metadata-token-ttl-seconds': TTL
});
let req = httpReq(options, function(res) {
let body = '';
res.on('data', function(chunk) {
body += chunk;
});
res.on('end', function() {
if (this.statusCode === 200 || this.statusCode === 300) {
callback(body);
} else {
callback(null);
}
});
});
req.on('error', function() {
callback(null);
});
req.on('timeout', function() {
req.abort();
callback(null);
});
req.setTimeout(Plugin.METADATA_TIMEOUT);
req.end();
}