Spaces:
Build error
Build error
import os | |
from fastapi import Depends, HTTPException, status | |
from fastapi.security import APIKeyHeader | |
_SESSION_API_KEY = os.getenv('SESSION_API_KEY') | |
_SESSION_API_KEY_HEADER = APIKeyHeader(name='X-Session-API-Key', auto_error=False) | |
def check_session_api_key( | |
session_api_key: str | None = Depends(_SESSION_API_KEY_HEADER), | |
): | |
""" | |
Check the session API key and throw an exception if incorrect. Having this as a dependency | |
means it appears in OpenAPI Docs | |
""" | |
if session_api_key != _SESSION_API_KEY: | |
raise HTTPException(status.HTTP_401_UNAUTHORIZED) | |
def get_dependencies() -> list[Depends]: | |
result = [] | |
if _SESSION_API_KEY: | |
result.append(Depends(check_session_api_key)) | |
return result | |