如何更改 Firebase 中的正文解析器限制?

Mat*_*lin 6 node.js express firebase body-parser google-cloud-functions

我正在尝试将文件上传代理到 firebase 云函数,以免暴露我们的 API url。

似乎 Firebase 在后台使用 Body-parser 来解析请求中的正文,但默认情况下限制为 100kb。

我试过这个: var bodyParser = require('body-parser'); app.use(bodyParser.json({limit: '50mb'})); app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));

但它似乎没有使用那个 bodyParser。它使用嵌入到 Firebase 框架中的私有框架。有没有办法改变它的限制?

这就是我得到的:

块引用错误:{ 错误:在 getRawBody (/usr/local/lib/ node_modules/firebase-tools/node_modules/raw-body/index.js:106:12) 读取时 (/usr/local/lib/node_modules/firebase-tools/node_modules/body-parser/lib/read.js:76: 3) 在 urlencodedParser (/usr/local/lib/node_modules/firebase-tools/node_modules/body-parser/lib/types/urlencoded.js:115:5) 在 Layer.handle [as handle_request] (/usr/local/ lib/node_modules/firebase-tools/node_modules/express/lib/router/layer.js:95:5) at trim_prefix (/usr/local/lib/node_modules/firebase-tools/node_modules/express/lib/router/index.html) js:317:13) 在 /usr/local/lib/node_modules/firebase-tools/node_modules/express/lib/router/index.js:284:7 在函数。process_params (/usr/local/lib/node_modules/firebase-tools/node_modules/express/lib/router/index.js:335:12) 在下一个 (/usr/local/lib/node_modules/firebase-tools/node_modules/express /lib/router/index.js:275:10) 在 textParser (/usr/local/lib/node_modules/firebase-tools/node_modules/body-parser/lib/types/text.js:78:7) 在层。处理 [as handle_request] (/usr/local/lib/node_modules/firebase-tools/node_modules/express/lib/router/layer.js:95:5) at trim_prefix (/usr/local/lib/node_modules/firebase-tools /node_modules/express/lib/router/index.js:317:13) 在 /usr/local/lib/node_modules/firebase-tools/node_modules/express/lib/router/index.js:284:7 在 Function.process_params (/usr/local/lib/node_modules/firebase-tools/node_modules/express/lib/router/index.js:335:12) 在下一个 (/usr/local/lib/node_modules/firebase-tools/node_modules/express/lib/router/index.js:275:10) 在 rawParser (/usr/local/lib/node_modules/firebase-tools/ node_modules/body-parser/lib/types/raw.js:76:7) 预期:611961,长度:611961,限制:102400,消息:'请求实体太大',状态:413,状态代码:413,类型:' entity.too.large' } 块引用

Mic*_*olt 0

您还使用:app.use(express.json())?如果你也使用这个中间件,express.json()有100kb的限制,你应该尝试不使用它。