在flaskcors中允许飞行前请求的标头不起作用

2024-04-18 23:29:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我想允许预飞行请求使用“X-Custom-Field”头。我使用烧瓶cors扩展。我不使用cross_ogirin装饰器。我是这样做的:

CORS(APP, expose_headers=['X-Another'], allow_headers=['X-Custom-Field'])

但是当我测试它时,KeyError: 'access-control-allow-headers'被抛出。但是access-control-expose-headers在响应头中。我的测试:

self.assertIn('X-Another', headers['access-control-expose-headers'])  # PASSES
self.assertIn('X-Custom-Field', headers['access-control-allow-headers'])  # FAILS

另一方面,当手动执行时,测试将通过。像这样:

@APP.after_request
def add_custom_field_to_headers(response):
  response.headers.add('Access-Control-Allow-Headers', 'X-Custom-Field')
  return response

Tags: selfaddappfieldaccess烧瓶responsecustom