Add CORS middleware
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Kai Vogelgesang 2022-10-07 23:20:49 +02:00
parent d202b9bf8f
commit e4e7497b3e
Signed by: kai
GPG Key ID: 0A95D3B6E62C0879
3 changed files with 17 additions and 1 deletions

3
.env
View File

@ -1,2 +1,5 @@
MONGO_URI="mongodb://user:pass@localhost:27017/" MONGO_URI="mongodb://user:pass@localhost:27017/"
ADMIN_TOKEN="admin" ADMIN_TOKEN="admin"
# CORS_ORIGINS='["*"]'
# CORS_REGEX="http://.*\.example\.com"

View File

@ -29,6 +29,17 @@ app = FastAPI(
openapi_tags=tags_metadata, openapi_tags=tags_metadata,
) )
if settings.cors_origins or settings.cors_regex:
from fastapi.middleware.cors import CORSMiddleware
app.add_middleware(
CORSMiddleware,
allow_origins=settings.cors_origins,
allow_origin_regex=settings.cors_regex,
allow_methods=["*"],
allow_headers=["*"],
)
Coming = Literal["yes", "no", "maybe"] Coming = Literal["yes", "no", "maybe"]
GrammaticalGender = Literal["m", "f", "d"] GrammaticalGender = Literal["m", "f", "d"]

View File

@ -4,6 +4,8 @@ from pydantic import BaseSettings, SecretStr
class Settings(BaseSettings): class Settings(BaseSettings):
mongo_uri: str mongo_uri: str
admin_token: SecretStr admin_token: SecretStr
cors_origins: list[str] | None
cors_regex: str | None
class Config: class Config:
env_file = ".env" env_file = ".env"