diff --git a/.env.example b/.env.example index 8bafaa1..f54ec0b 100644 --- a/.env.example +++ b/.env.example @@ -1,7 +1,7 @@ # Sample setup for environmental variables -ALLOWED_ORIGINS=github.com,127.0.0.1,0.0.0.0,ping.telex.im -ALLOWED_HOSTS=https://github.com,http://127.0.0.1:8000,http://0.0.0.0:8000,https://ping.telex.im +ALLOWED_ORIGINS=https://github.com,http://127.0.0.1:8000,http://0.0.0.0:8000,http://localhost:8000,https://ping.telex.im +ALLOWED_HOSTS=github.com,127.0.0.1,0.0.0.0,localhost,ping.telex.im HOST=0.0.0.0 PORT=8000 RELOAD_VALUE=True \ No newline at end of file diff --git a/main.py b/main.py index d5870c8..af7a314 100644 --- a/main.py +++ b/main.py @@ -1,9 +1,10 @@ from fastapi import FastAPI import uvicorn -from config import settings +from src.config.config import settings +from src.config.middleware import middleware -app = FastAPI(docs_url="/") +app = FastAPI(docs_url="/", middleware=middleware) if __name__ == "__main__": reload_value = settings.reload_value.lower() == "true" diff --git a/src/config/__init__.py b/src/config/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/config.py b/src/config/config.py similarity index 100% rename from config.py rename to src/config/config.py diff --git a/src/config/middleware.py b/src/config/middleware.py new file mode 100644 index 0000000..18c444b --- /dev/null +++ b/src/config/middleware.py @@ -0,0 +1,18 @@ +from .config import settings +from fastapi.middleware import Middleware +from fastapi.middleware.cors import CORSMiddleware +from fastapi.middleware.trustedhost import TrustedHostMiddleware + + +middleware = ( + Middleware( + CORSMiddleware, + allow_origins=settings.allowed_origins.split(","), + allow_credentials=True, + allow_methods=["GET", "POST", "HEAD", "OPTIONS"] + ), + Middleware( + TrustedHostMiddleware, + allowed_hosts=settings.allowed_hosts.split(",") + ) +) \ No newline at end of file