我最近将基于Flask 0.10.1(内部使用Werkzeug 0.9.1)的应用程序迁移到了Flask 1.0.2(使用Werkzeug 0.15.2)。
一切正常。但是,我发现了一种不同的行为,这让我有点烦。特别是,我观察到,对于“在线”上的相同传入请求(例如,如nc
所见),Flask获取标头(如request.headers.keys()
所获得,即{{1} }传入请求对象)。
尤其是在升级之前:
request
升级后:
Fiware-Servicepath: /
Ngsiv2-Attrsformat: custom
Entity-Id: E1
Content-Length: 38
User-Agent: orion/2.0.0
Accept: application/json
Host: 127.0.0.1:9999
A3: 13
A2: a2
A1: a1
Entity-Type: Thing
Content-Type: text/plain; charset=utf-8
Fiware-Correlator: aaaa-bbbb-cccc-dddd
(可以在Fiware-Servicepath: /
A3: 13
Entity-Id: E1
Content-Length: 38
User-Agent: orion/2.2.0
Ngsiv2-Attrsformat: custom
Host: 127.0.0.1:9999
Accept: application/json
A2: a2
A1: a1
Entity-Type: Thing
Content-Type: text/plain; charset=utf-8
Fiware-Correlator: aaaa-bbb-ccc-dddd
,A3
和Ngsiv2-Attrsformat
中进行更改。不要关注标题名称本身,其中许多是我的应用程序的自定义)
我想这可能是由于Flask或Werkzeug中的版本之间的内部变化,即它们将标头存储在某些内部hashmap / dict中的方式。但是,我想确认一切都很好,我不用担心:)。因此,Flask和/或Werkzeug的专家对此提出的任何意见都将受到赞赏。