Как с помощью нативного NodeJS-модуля "http" получить полный URL, на который был отправлен запрос?

Допустим, с REST-клиента отправили запрос http://localhost:1337/. Как с помощью функционала нативного пакета http получить это значение?

Нигде в объекте запроса request я этого значения не нашел. В частности, его нет в автоматически генерируемых заголовках:

{
  "host": "localhost:1337",
  "content-type": "application/json",
  "accept": "application/json",
  "accept-encoding": "gzip, deflate",
  "accept-language": "en-US,en;q=0.8",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36"
}

Поскольку в этом вопросе речь идёт о решении задачи нативными средствами, то попрошу не рекомендовать мне фреймворки типа express.


Ответы (2 шт):

Автор решения: Vadizar

Насколько я помню, то так:

const http = require('http')

http.createServer(request => {
  console.log(request.url)
}).listen(8080)
→ Ссылка
Автор решения: Vetedde

Попробуйте так: req.headers.host - вернет вам хост req.url - вернет вам оставшийся путь

const http = require('http');

let server = new http.Server(function(req, res) {
    console.log(req.url)
    console.log(req.headers)

});

server.listen(8000, 'localhost');
→ Ссылка