我目前正在使用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
-Class的类的实例时。
但是,这是我的问题,如果generate_response
返回Werkzeugs HttpExceptions
之一,则response
没有要附加的标头字段。看起来,标题在Werkzeug-Exceptions中是固定的:
class HttpException(Exception):
....
def get_headers(self, environ):
"""Get a list of headers."""
return [('Content-Type', 'text/html')]
...
是否有一种简便的方法来解决[[fix,就像在解决该问题时那样,因此我可以将自定义标头附加到异常中,还是必须对Exception-Baseclass进行子类化以添加对标头的支持?这是故意的还是值得发表的设计问题?最后但并非最不重要的一点:我在这里误会了什么吗?那根本不是应该做的那样?