我目前正在开发一个Javascript-App,它必须使用Werkzeug对webservice执行跨源请求(我可以访问javascript-客户机和werkzeug服务器)。
现在,在阅读/搜索之后,我在服务器上添加了响应(示例-代码):
response = generate_response(request)
response.headers.add('Access-Control-Allow-Origin', 'http://localhost')我的JS是从http://localhost/MyApp上运行的。这是可行的(服务器端的->处理通过,客户端接收正确的数据),但只有当generate_response返回继承Werkzeug的BaseResponse-Class的类的实例时才能工作。
但是,我的问题是,如果generate_response返回一个Werkzeugs HttpExceptions,response没有一个headers字段可追加。看起来,头在Werkzeug中是固定的-例外:
class HttpException(Exception):
....
def get_headers(self, environ):
"""Get a list of headers."""
return [('Content-Type', 'text/html')]
...是否有一种简单的方法来解决这个问题,就像在解决这个问题时一样,这样我就可以将我的自定义头追加到异常中,还是我必须对异常子类-Baseclass来添加对我的头的支持?这是有意的,还是一个值得报告的设计问题?最后但并非最不重要的一点是:我是不是误解了一些事情,而这根本不是应该做的事情?
发布于 2020-03-10 05:58:54
截至Werkzeug 1.0.0里程碑,这一问题已得到修正
https://stackoverflow.com/questions/19382431
复制相似问题