import logging.config from functools import lru_cache from fastapi import HTTPException, Security, status from fastapi.security.api_key import APIKeyHeader from mappingservice import config logging.config.fileConfig("logging.conf", disable_existing_loggers=False) logger = logging.getLogger(__name__) @lru_cache def get_settings() -> config.Settings: return config.Settings() API_KEY = get_settings().api_key.get_secret_value() api_key_header_auth = APIKeyHeader(name="Api-key", auto_error=True) mc = {} def get_api_key(api_key_header: str = Security(api_key_header_auth)): if api_key_header != API_KEY: raise HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, detail="Invalid API Key" )