在Werkzeug-Exception上设置标题

时间:2013-10-15 13:25:29

标签: javascript cors werkzeug

我目前正在使用一个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之一HttpExceptionsresponse没有要追加的标题字段。看起来,标题是在Werkzeug-Exceptions中修复的:

class HttpException(Exception):
    ....
    def get_headers(self, environ):
        """Get a list of headers."""
        return [('Content-Type', 'text/html')]
    ...

有没有一种简单的方法来修复这个,因为在解决这个问题上我可以将我的自定义标头附加到异常中,或者我必须将Exception-Baseclass子类化以添加对标题的支持?这是故意还是设计问题值得报道?最后但并非最不重要的一点:我是否误解了这里的某些内容并且根本不应该这样做?

1 个答案:

答案 0 :(得分:1)

从Werkzeug 1.0.0里程碑开始,此问题已解决

https://github.com/pallets/werkzeug/issues/131