我无法控制的JavaScript客户端是将不正确的HTTP请求标头发送到我的Web API服务。更具体地说,它使用的是发送不正确的OData标头的库。
在我的服务到达之前,有没有办法拦截HTTP请求?我可以添加/删除/更新标题或查询字符串信息吗?
例如,如果我收到以下HTTP标头:
GET /Some/API HTTP/1.1
Host: myhost.com:80
MaxDataServiceVersion: 2.0
我想知道如何在OData库接管之前将其修改为以下内容:
GET /Some/API HTTP/1.1
Host: myhost.com:80
MaxDataServiceVersion: 4.0
答案 0 :(得分:0)
标题不正确。您的客户端需要OData v2服务,即使您操作了标头,它也可能无法理解服务器的响应。
但是如果你真的想尝试那条路线,你可以使用一个简单的HTTP代理来重写标题。
如果这样做,请确保您的OData服务器支持Atom格式,因为OData JSON格式在版本2和版本4之间完全更改,因此JavaScript客户端无法理解它。 Atom格式也发生了变化,但如果客户端的解析器非常宽松,它可能会起作用。