问题描述
在本例中,我使用 Express.js 服务器来处理入站 Twilio webhooks 并返回一个 http response
但是,我在调试控制台中看到 Twilio 错误显示。这是 Twilio 在其控制台中显示的错误:
sourceComponent "14100"
ErrorCode "12300"
LogLevel "ERROR"
Msg "Invalid Content-Type: application/json; charset=utf-8 supplied"
contentType "application/json; charset=utf-8"
EmailNotification "false"
我考虑覆盖返回的 Content-Type
,但 Express.js overrides this。
我们能够处理入站消息,所以这对我的应用程序来说似乎不是致命的,但我应该更关心这个吗?我应该更深入地研究什么?
我也在研究这个 similar problem(他们的应用程序使用 C#),其中的答案似乎是 UTF8 编码,但不确定如果 Express.js 无论如何覆盖是否能解决问题
解决方法
您可以使用 Express 返回适当的 MIME 类型,如定义的 here。参考这个 repo 来查看代码。
TwilioQuest Starter Template Node
// Return an XML response to this request
res.set('Content-Type','text/xml');