繁体   English   中英

(Firebase / Cloud Functions) PayloadTooLargeError:queryparse 参数过多

[英](Firebase / Cloud Functions) PayloadTooLargeError: too many parameters at queryparse

我有一个由 3rd 方应用程序中的 webhook 触发的 firebase 函数。 他们使用 application/x-www-urlencoded 类型对我的函数进行后期调用,并且在其帖子正文中有 1000 多个参数。 1000 是 body-parser 包中的默认参数数,当它达到限制时会抛出错误。

PayloadTooLargeError: too many parameters at queryparse 
(/srv/node_modules/body-parser/lib/types/urlencoded.js:151:13) at parse 
(/srv/node_modules/body-parser/lib/types/urlencoded.js:75:9)

据我所知,firebase 函数也有在后台运行的 express 和 body-parser,我想知道是否有办法修改这些参数限制。 我看到了一些修改这些设置的示例,但是下面的解决方案对 firebase 函数不起作用,因为它没有修改在 firebase 函数后面运行的实际 body-parser。

var bodyParser = require('body-parser');

app.use(bodyParser.urlencoded({
        extended: false,
     parameterLimit: 10000,
     limit: 1024 * 1024 * 10
}));

任何建议或解决方案将不胜感激。 谢谢你。

我不认为身体解析中间件的行为可以以任何方式改变。 文档中没有任何内容建议任何配置选项。

如果可能,我建议让客户端 POST 一个 JSON 有效负载,它可以包含您想要的任何有效 JSON。

另一种选择可能是不使用 JavaScript 运行时,而是使用 Google Cloud 部署工具尝试使用 Python 或 Go。 您将无法再使用 Firebase CLI,但其他运行时可能会有不同的行为来满足您的需求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM