Sani c Обработчик исключений CORS - PullRequest
1 голос
/ 26 мая 2020

Я пытался использовать Sanic_CORS в обработчике исключений, таком как ошибка 404, но получил ошибку CORS Access to XMLHttpRequest at 'http://backend:port/endpoint' from origin 'http://react_app:port' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Нет проблем с действительными конечными точками.

Мой обработчик ошибок

@app.exception(NotFound)
async def ignore_404s(request, exception):
    return response.json({'message': "Oops, server error"},
                          status=404)

Как я могу реализовать Sanic_CORS для обработчиков ошибок? Любые идеи?

1 Ответ

0 голосов
/ 01 июня 2020

Один из вариантов - просто добавить заголовок в свой ответ. Хотя здесь не используется пакет sanic-cors, но он вам здесь действительно не нужен.

@app.exception(NotFound)
async def ignore_404s(request, exception):
    return response.json(
        {'message': "Oops, server error"},
        status=404,
        headers={"Access-Control-Allow-Origin": "*"}
    )
...