diff --git a/src/utils.js b/src/utils.js index 58c8f5e..1e1d1ba 100644 --- a/src/utils.js +++ b/src/utils.js @@ -48,6 +48,12 @@ const getUrlObject = (req) => { const urlObject = new URL(`${req.protocol}://${req.headers.host}/`); // support overriding hostname by sending X-Forwarded-Host http header urlObject.hostname = req.hostname; + + // support add url prefix by sending X-Forwarded-Path http header + const xForwardedPath = req.get('X-Forwarded-Path'); + if (xForwardedPath) { + urlObject.pathname = path.posix.join(xForwardedPath, urlObject.pathname); + } return urlObject; };