Как с помощью нативного 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');