我正在嘗試處理 Firebase 函式中的無效請求,因此使用無效的 JSON 發出發布請求,目的是在 express 中處理它。但是在它到達快遞層之前,我收到了400 錯誤“語法錯誤:JSON 中的意外令牌 a 在位置 20”,最糟糕的是該函式運行了 60 秒,直到遇到超時錯誤。
我的功能
import * as functions from 'firebase-functions';
import * as express from 'express';
import * as admin from 'firebase-admin';
admin.initializeApp();
const app = express();
app.use((err: any, req: any, res: any, next: any) => {
res.json({ error: 'invalid request' });
next(err);
});
app.post('/test', (req: any, res: any) => {
res.json({ error: 'invalid request' });
res.end();
return;
});
const server = functions.runWith({ maxInstances: 100 }).https.onRequest(app);
export { server as api };
無效的 json,
{
"es":"adfasdf"asdf
}
我懷疑這與https://firebase.google.com/docs/functions/http-events#read_values_from_the_request中的“此決議由以下正文決議器完成”有關:
uj5u.com熱心網友回復:
Firebase 函式構建在functions-framework-nodejs包之上(或者至少是相同代碼的內部變體)。
在該包中,注入了您提到的正文決議器。正如您正確推測的那樣,這些確實是在您的代碼有機會執行之前添加的。
由于該錯誤是 Firebase 操作的內部錯誤,您需要直接聯系 Firebase 支持。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/340071.html
