微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

req.body是onRequest Firebase云函数中的空原型带multer

如何解决req.body是onRequest Firebase云函数中的空原型带multer

在我的云功能中:

const app = express();
app.use(multer().array());
app.post("/",(req,res) => {
  console.log("hit",req.body.from);
  console.log("hit",req.body.from);
  return res.sendStatus(200);
});

const emailInboundWebhook = functions.https.onRequest(app);

module.exports = {
  emailInboundWebhook
}

我在日志中得到了

i  functions: Beginning execution of "emailInboundWebhook"
>  hit undefined
>  hit undefined
i  functions: Finished "emailInboundWebhook" in ~1s

但是当同一终结点充当Express应用程序(外部云功能)时:

const express = require("express");
const app = express();
const multer = require('multer');

app.get("/",async (req,res) => {
  res.status(200).json({foo: "Bar"});
})
app.use(multer().array());
app.post("/webhook",req.body.to);
  console.log("hit",req.body.from);
  res.sendStatus(200);
});

app.listen(80,() => {
  console.log("App listening on 80");
})

为此:

hit a@some-email-inbound.some.url
hit Rahul Priyadarsi <myemailid@gmail.com>

这两个结果是针对发送相同的电子邮件,这些功能作为sendgrid webhooks触发,它们发送multipart/form-data POST请求,其中包含从a@some-email-inbound.some.url发送到myemailid@gmail.com的电子邮件的详细信息

我不知道为什么两个结果不同(我正在通过ngrok对其进行测试,并且由于控制台日志行已运行,因此显然该功能已被击中)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。