Dan Albert 4e348dd99a Add a server setting for disabling the API key.
Useful for development if you want to disable API key authentication for
debugging the server without having to pull the generated key out of the
log every time.
2022-02-28 00:31:56 -08:00

37 lines
927 B
Python

from fastapi import Depends, FastAPI
from fastapi.middleware.cors import CORSMiddleware
from . import (
controlpoints,
debuggeometries,
eventstream,
flights,
mapzones,
navmesh,
waypoints,
)
from .security import ApiKeyManager
from .settings import ServerSettings
dependencies = []
if ServerSettings.get().require_api_key:
dependencies.append(Depends(ApiKeyManager.verify))
app = FastAPI(dependencies=dependencies)
app.include_router(controlpoints.router)
app.include_router(debuggeometries.router)
app.include_router(eventstream.router)
app.include_router(flights.router)
app.include_router(mapzones.router)
app.include_router(navmesh.router)
app.include_router(waypoints.router)
if ServerSettings.get().cors_allow_debug_server:
app.add_middleware(
CORSMiddleware,
allow_origins=["http://localhost:3000"],
allow_methods=["*"],
allow_headers=["*"],
)