diff --git a/autogpt/autogpt/app/agent_protocol_server.py b/autogpt/autogpt/app/agent_protocol_server.py index 7544d817b2b..6df820b27c1 100644 --- a/autogpt/autogpt/app/agent_protocol_server.py +++ b/autogpt/autogpt/app/agent_protocol_server.py @@ -6,7 +6,8 @@ from uuid import uuid4 import orjson -from fastapi import APIRouter, FastAPI, UploadFile +from typing import Callable +from fastapi import APIRouter, FastAPI, UploadFile, FastAPI, Request, Response from fastapi.middleware.cors import CORSMiddleware from fastapi.responses import RedirectResponse, StreamingResponse from fastapi.staticfiles import StaticFiles @@ -40,6 +41,15 @@ logger = logging.getLogger(__name__) +def create_middleware(app: FastAPI): + async def add_custom_header(request: Request, call_next: Callable) -> Response: + response = await call_next(request) + response.headers["Content-Type"] = "application/json ; charset=UTF-8" + return response + + app.middleware("http")(add_custom_header) + + class AgentProtocolServer: _task_budgets: dict[str, ModelProviderBudget] @@ -76,7 +86,7 @@ async def start(self, port: int = 8000, router: APIRouter = base_router): "Modified version of The Agent Protocol.", version="v0.4", ) - + create_middleware(app) # Configure CORS middleware default_origins = [f"http://localhost:{port}"] # Default only local access configured_origins = [