【发布时间】:2016-02-22 07:46:14
【问题描述】:
在我的应用程序(帆 0.12.0)中,我想扩展 POST 请求时发送的字节数限制。所以在我的config/http.js 中,我取消注释bodyParser 并将其设置为:
module.exports.http = {
...
middleware: {
...
bodyParser: (function () {
var opts = {limit: 1024*1024*5}; // set it to 5 megabytes
var fn;
// Default to built-in bodyParser:
fn = require('skipper');
return fn(opts);
})()
...
}
...
}
但现在我的每个请求似乎都挂起,结果我在浏览器发送的每个请求中都得到502 bad gateway。
所以:
- 如何正确初始化
skipper并扩展允许的字节数限制? - 为什么我的所有请求现在都以 502 结束?
EDIT 当@sgress454 询问bodyParser 的确切位置时,我决定在最初的问题中对其进行精确定位。简而言之,它位于默认配置中被注释掉的位置 - 在 middleware 对象下。
原来这是一个错误,issue 已经创建,所以请关注它以进行进一步的开发。
【问题讨论】:
-
您是将
bodyParser配置直接放在module.exports.http下,还是取消注释该文件中的middleware:包装属性?由于issue in the Sails config loader,bodyParser配置必须直接在module.exports.http下指定。回复:502 错误,我无法与之交谈——这是你在超时后得到的吗?如果请求挂起,您根本不应该得到响应。 -
哇!!.. 至于我看到你半小时前打开了这个问题,这让我得出结论,我是唯一遇到这个错误的人,感谢你的转载和发布.期待开发者 cmets。
-
那么……是吗?将配置放在
module.exports.http下可以解决问题吗?我希望我可以说这是以前从未遇到过的,但是这种情况很少发生,以至于它没有得到应有的关注。我们现在有一个更好的问题处理流程,所以现在bodyParser问题再次出现,感谢您,我们应该能够相当容易地解决它。 -
是的,将
bodyParser从middleware对象中取出并直接放入module.exports.http对我有用。我不知道我是否以优雅的方式完成了它,但我在module.exports.http之前声明了一个skipper变量等于require('skipper')( { limit: 1024*1024*5 } );,然后在bodyParser中我只返回skipper。跨度>
标签: sails.js