Оказывается, первоначальное намерение originalUrl
было именно таким, чтобы сохранить исходный URL-адрес, вызванный пользователем.Вот как это будет работать, если мы действительно работаем с приложением node.js без каких-либо прокси-серверов MS, но возможно с перезаписью.
Так что в моем случае мне пришлось использовать requestOverrides
и пользовательские заголовки, чтобы получитьмне то, что мне нужно.У моего proxies.json
теперь есть это:
И в моей функции я могу восстановить URL следующим образом:
let origHost = req.headers.hasOwnProperty('x-original-host') ? req.headers['x-original-host'] : req.headers['host'];
let origPath = req.headers.hasOwnProperty('x-original-path') ? req.headers['x-original-path'] : ''
let search = new URL(req.url).search;
let originalUrl = 'https://' + origHost + '/' + origPath + (search ? '?' : '') + search;
Кажется, что нет способа получить оригинальный протокол(http против https), но в моем случае это не имеет значения, потому что я все равно использую https везде.