Feat: Better mechanism for attaching middleware (#6365)

This commit is contained in:
tofarr
2025-01-23 07:31:43 -07:00
committed by GitHub
parent aa223734d4
commit 5ba9a6d321
4 changed files with 37 additions and 32 deletions

View File

@@ -2,6 +2,8 @@ from abc import ABC, abstractmethod
from enum import Enum
from typing import ClassVar, Protocol
from fastapi import FastAPI
class AppMode(Enum):
OSS = 'oss'
@@ -36,6 +38,11 @@ class OpenhandsConfigInterface(ABC):
"""Configure attributes for frontend"""
raise NotImplementedError
@abstractmethod
def attach_middleware(self, api: FastAPI) -> None:
"""Attach required middleware for the current environment"""
raise NotImplementedError
class MissingSettingsError(ValueError):
"""Raised when settings are missing or not found."""