如果100:在Express.js中继续,如何处理完成的POST请求?

时间:2012-09-19 14:03:49

标签: node.js http-headers express

我有一个相对较大的(50K)文本文件被发布:

curl -H "Content-Type:text/plain"  -d @system.log http://localhost:8888/

使用代理进行测试,我可以看到正在发布文件的完整内容。

然而,Express.JS看到100:标题中的继续,以及一个空白的正文。我有:

app.use(express.bodyParser());

启用,BTW。以下是标题:

{ 'user-agent': 'curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5',
  host: 'localhost:8888',
  accept: '*/*',
  'content-type': 'text/plain',
  'content-length': '55909',
  expect: '100-continue' }

req.body是空的:

{}

如何查看Express.JS中发布的所有数据?

1 个答案:

答案 0 :(得分:1)

我的猜测是,节点会根据node http module docs自动发送100-continue响应(假设您使用的是足够新的节点版本)。我猜想发生的只是text/plain内容类型不是bodyParser可以解析成其他内容的格式(与json或www-form-urlencoded相对)。因此,您可以从请求将为其读取的每个数据块发出的标准data事件中获取数据。