没有特定Content-Type的Firebase函数返回未定义的rawBody

时间:2020-04-22 12:35:08

标签: firebase google-cloud-functions

我正在与调用我们URL的第三方服务集成。 不幸的是,他们没有在请求中设置Content-Type头。 显然,如果未设置Content-Type,firebase函数将返回undefined rawBody。 有什么办法可以解决这个问题?

这是我的功能代码:

const cors = require("cors")({
  origin: true,
});

export const hookHandler = functions.https.onRequest(
  (request, response) => {
    return cors(request, response, () => {
      if (request.rawBody === undefined) {
        response.status(200).send({ error: "undefined body" });
      } else {
        response.status(200).send({});
      }
    });
  }
);

__

不起作用:

curl https://us-central1....statusHook -d '{"dupa":1}' -H "Content-Type:"

工作正常:

curl https://us-central1....statusHook -d '{"dupa":1}' -H "Content-Type:application/json"

0 个答案:

没有答案