要将请求大小限制为123个字节,我使用以下工作正常:
app.use(bodyParser.urlencoded({
extended: true,
limit: 123
}));
要解析除" / specialRequest"之外的所有请求,我使用以下内容也可以正常工作:
app.use(/^(?!\/specialRequest)/,bodyParser.urlencoded({
extended: true
}));
但是我没有将所有请求的请求大小限制为123并解析除" / specialRequest"之外的所有请求。这是我目前的代码:
app.use(/^(?!\/specialRequest)/,bodyParser.urlencoded({
extended: true,
limit: 123
}));
但是,这仅限制了与" / specialRequest"不同的请求的请求大小。如何将所有请求的请求大小限制为123并解析所有请求除" / specialRequest"?
答案 0 :(得分:1)
如果您希望/specialRequest
的请求正文大小有限但未解析,则可以使用bodyParser.raw()
。在这种情况下,req.body
将是一个Buffer
实例,其中包含请求正文(未解析,但如果它被表示为gzipped或deflated数据,它将被夸大;此行为可以通过它的选择)。
您需要在插入bodyParser.urlencoded()
中间件之前声明它:
app.post('/specialRequest', bodyParser.raw({ limit : 123, type : '*/*' }), function(req, res) {
...
});
app.use(bodyParser.urlencoded({
extended: true,
limit: 123
}));