- Introduced `lint` and `lint-fix` applications in `flake.nix` for unified linting of backend (Python) and frontend (TypeScript/Svelte) code. - Added `scripts/lint.sh` for manual linting execution. - Created `scripts/install-hooks.sh` to set up git hooks for automatic linting before commits and optional tests before pushes. - Updated `README.md` with instructions for using the new linting features and git hooks.
28 lines
746 B
Python
28 lines
746 B
Python
"""CORS and other middleware configuration."""
|
|
|
|
from fastapi import FastAPI
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
|
|
from app.core.config import settings
|
|
|
|
|
|
def setup_middleware(app: FastAPI) -> None:
|
|
"""Configure application middleware."""
|
|
|
|
# CORS middleware
|
|
app.add_middleware(
|
|
CORSMiddleware,
|
|
allow_origins=settings.CORS_ORIGINS,
|
|
allow_credentials=True,
|
|
allow_methods=["*"],
|
|
allow_headers=["*"],
|
|
)
|
|
|
|
# Security headers (optional, add more as needed)
|
|
# Note: TrustedHostMiddleware not added by default in dev
|
|
# Uncomment for production:
|
|
# app.add_middleware(
|
|
# TrustedHostMiddleware,
|
|
# allowed_hosts=["yourdomain.com", "*.yourdomain.com"]
|
|
# )
|