В express.js я хотел бы предоставить дополнительный атрибут объекта запроса для каждого из моих слушателей URI. Это обеспечило бы протокол, имя хоста и номер порта. Например:
app.get('/users/:id', function(req, res) {
console.log(req.root); // https://12.34.56.78:1324/
});
Я мог бы, конечно, объединить req.protocol, req.host и каким-то образом обойти номер порта (кажется, отсутствует в объекте req) для каждого из моих слушателей URI, но я хотел бы иметь возможность сделайте это так, чтобы все они могли получить доступ к этой информации.
Кроме того, имя хоста может варьироваться в зависимости от запроса (машина имеет несколько интерфейсов), поэтому я не могу просто конкатенировать эту строку при запуске приложения.
Цель состоит в предоставлении URI для потребителя, который указывает на дополнительные ресурсы в этом API.
Есть ли способ сказать Экспрессу, что я хочу, чтобы объекты req имели эту дополнительную информацию? Есть ли лучший способ сделать это, чем то, что я излагаю?