На момент срабатывания колбека обратки запроса в http сервера, Get запрос полностью уже обработан, все его данные полученные, потому что такой запрос приходит без тела, только с заголовками. А вот с Post другая история - когда колбек срабатывает, заголовки уже пришли, а вот боди, еще в пути, и обработать его в колбеке мы можем только подписавшись на событие потока Readable, который у нас представлен, его наследником http.InputMessage обьектом req.
Пример:
Пример:
function(req, res) {
...........
var body = '';
req
.on('readable', function() {
body += req.read();
if(body.length > 1e4) {
res.statusCode = 413;
res.end('Your messafe is too big for my little chat');
}
})
.on('end', function() {
try {
body = JSON.parse(body);
}catch(e) {
res.statusCode = 400;
res.end('Bad Request');
return;
}
chat.publish(body.message);
res.end('ok');
});
}
Комментариев нет:
Отправить комментарий