Разбор JSON в Express без BodyParser

Я пытаюсь написать простой экспресс-сервер, который принимает входящий JSON (POST), анализирует JSON и присваивает тело запроса. Подвох в том, что я не могу использовать bodyparser. Ниже мой сервер с простой функцией промежуточного программного обеспечения, передаваемой в app.use

Проблема: всякий раз, когда я отправляю фиктивные POST-запросы на мой сервер с суперагентом (пакет npm, позволяющий отправлять JSON через терминал), время ожидания моего сервера истекает. Я написал HTTP-сервер аналогичным образом, используя req.on ('data') ... так что я в тупике. Любой совет?

const express = require('express');
const app = express();

function jsonParser(req, res, next) {
  res.writeHead(200, {'Content-Type:':'application/json'});
  req.on('data', (data, err) => {
    if (err) res.status(404).send({error: "invalid json"});
    req.body = JSON.parse(data);
  });
  next();
};

app.use(jsonParser);
app.post('/', (req, res) => {
  console.log('post request logging message...');
});

app.listen(3000, () => console.log('Server running on port 3000'));
8
задан Jose 21 January 2016 в 04:00
поделиться