我目前正在使用一个Javascript-App,它必须使用Werkzeug对Web服务进行跨源请求(我可以访问javascript-client和werkzeug-server)
现在,经过一些阅读/搜索,我在服务器上的回复中添加了(示例代码):
response = generate_response(request)
response.headers.add('Access-Control-Allow-Origin', 'http://localhost')
我的JS-App从http://localhost/MyApp
开始运行。这有效( - >服务器端的处理通过,客户端接收正确的数据),但仅当generate_response返回继承Werkzeug的BaseResponse
- 类的类的实例时。
但是,这是我的问题,如果generate_response
返回Werkzeug之一HttpExceptions
,response
没有要追加的标题字段。看起来,标题是在Werkzeug-Exceptions中修复的:
class HttpException(Exception):
....
def get_headers(self, environ):
"""Get a list of headers."""
return [('Content-Type', 'text/html')]
...
有没有一种简单的方法来修复这个,因为在解决这个问题上我可以将我的自定义标头附加到异常中,或者我必须将Exception-Baseclass子类化以添加对标题的支持?这是故意还是设计问题值得报道?最后但并非最不重要的一点:我是否误解了这里的某些内容并且根本不应该这样做?