Параметр allow_headers
Параметр allow_headers передаётся в middleware CORSMiddleware
и управляет заголовком ответа
Access-Control-Allow-Headers.
Он указывает браузеру, какие заголовки клиент
может включать в CORS-запрос.
Значением служит список строк с именами заголовков
либо специальное значение '*',
разрешающее все заголовки.
Параметр используется только вместе с CORSMiddleware
и влияет на предполётные запросы OPTIONS,
которые браузер отправляет перед основным запросом.
Синтаксис
from fastapi.middleware.cors import CORSMiddleware
app.add_middleware(
CORSMiddleware,
allow_headers=['Content-Type', 'Authorization']
)
Пример
Давайте разрешим клиенту отправлять заголовки
Content-Type и Authorization:
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=['http://localhost:3000'],
allow_methods=['GET', 'POST'],
allow_headers=['Content-Type', 'Authorization']
)
@app.get('/')
def index():
return {'text': 'hello'}
Теперь в ответ на предполётный запрос сервер вернёт:
Access-Control-Allow-Headers: Content-Type, Authorization
Пример
Давайте разрешим клиенту отправлять любые заголовки
с помощью значения '*':
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=['*'],
allow_methods=['*'],
allow_headers=['*']
)
@app.post('/user')
def create_user():
return {'name': 'abcde'}
Теперь сервер разрешает любой заголовок в запросе:
Access-Control-Allow-Headers: *
Смотрите также
-
класс
CORSMiddleware,
который настраивает CORS-политику приложения -
параметр
allow_origins,
который задаёт разрешённые источники запросов -
параметр
allow_methods,
который задаёт разрешённые HTTP-методы -
параметр
allow_credentials,
который разрешает отправку учётных данных