UNPKG

judoscale-node-core

Version:

Core dependencies for NodeJS adapters for the JudoScale autoscaling add-on for Heroku

24 lines (19 loc) 620 B
function queueTimeFromHeaders(headers, now) { // Heroku sets the header as integer milliseconds. // NGINX sets the header as fractional sections preceeded by "t=". // We can cover both scenarios by stripping all non-digits and treating as milliseconds. let requestStart = headers['x-request-start'] if (requestStart) { requestStart = requestStart.replace(/\D/g, '') const queueTime = now - new Date(Number(requestStart)) return Math.max(0, queueTime) } return null } function requestId(headers) { return headers['x-request-id'] } module.exports = { queueTimeFromHeaders, requestId, }