Выбор ответа Middle HTTP-сервер, Express, NestJS обновлено
Тело запроса в node:http
Вопрос
Как в голом node:http получить тело POST-запроса?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Прочитать поток req через for await и склеить. req в node:http это IncomingMessage, Readable-поток.
Варианты ответа
- Прочитать поток
reqчерезfor awaitи склеитьправильный ответ - Прочитать свойство
req.body, его заполняет Node - Вызвать
await req.json(), как в fetch - Тело доступно только в Express через body-parser
Разбор
req в node:http это IncomingMessage, Readable-поток. Тело приходит чанками, их собирают и склеивают через Buffer.concat, затем парсят.
req.bodyсоздают фреймворки, в голом http его нет.req.json()есть уRequestиз fetch API, а не уIncomingMessage.- Фреймворки сами читают тот же поток, просто прячут это.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.