UNPKG

connect-qos

Version:

Connect middleware that helps maintain a high quality of service during heavy traffic

38 lines (37 loc) 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { normalizeHost: function() { return normalizeHost; }, resolveHostFromRequest: function() { return resolveHostFromRequest; }, resolveIpFromRequest: function() { return resolveIpFromRequest; } }); const HOST_NORMALIZE_REGEX = /(^www\.)?([^:]+)(:\d+)?$/; function normalizeHost(host) { const match = HOST_NORMALIZE_REGEX.exec(host.toLowerCase()); return match ? match[2] : host; } function resolveHostFromRequest(req) { const authority = req.headers[':authority']; return normalizeHost(authority || req.headers.host || 'unknown'); } function resolveIpFromRequest(req, behindProxy = false) { // for security reasons, we should never ASSUME the server is behind a proxy // and only support `x-forwarded-for` is explicitly enabled const forwardedFor = behindProxy && req.headers['x-forwarded-for']; return forwardedFor || req?.socket?.remoteAddress || 'unknown'; } //# sourceMappingURL=util.js.map