【发布时间】:2019-05-12 15:04:50
【问题描述】:
我希望现有应用程序(我无法控制)将信息发送到 Azure 函数。
应用程序首先发送一个 HTTP OPTIONS 请求,然后会定期发送 HTTP POST 消息。
我遇到的问题是应用程序在来自 Azure 函数对 OPTIONS 请求的响应中需要一个标头“允许:POST,OPTIONS”。如果标头不存在,它将不会继续(相反,它会抛出错误:'POST is not allowed')
尝试在 Azure 函数中设置标头时,我收到以下错误消息
System.Net.Http: Misused header name. Make sure request headers are used with HttpRequestMessage, response headers with HttpResponseMessage, and content headers with HttpContent objects.
我确实为所有位置启用了 CORS,并允许配置中的所有方法。
module.exports = function (context, req)
{
//context.log('JavaScript HTTP trigger function processed a request.');
if (req.method == "OPTIONS")
{
context.res =
{
body: "",
headers:
{
//"Access-Control-Allow-Methods" : "POST,OPTIONS",
"allow" : "POST,OPTIONS"
},
status: 200,
};
}
context.done();
}
规范说应该为 405 响应设置 Allow 标头。如果标题为空,则不允许任何内容。但是,对于根本不存在标头时没有定义逻辑。
有没有一种方法可以发送此标头以响应 HTTP OPTIONS ?
【问题讨论】:
标签: azure azure-functions