from fastapi import FastAPI, Request, Response, HTTPException from fastapi.responses import JSONResponse from fastapi.middleware import Middleware from fastapi.middleware.cors import CORSMiddleware from fastapi.exceptions import RequestValidationError from fastapi.encoders import jsonable_encoder from fastapi.openapi.models import APIKey app = FastAPI() origins = [ "*" ] app.add_middleware( CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) @app.exception_handler(RequestValidationError) async def validation_exception_handler(request: Request, exc: RequestValidationError): return JSONResponse( status_code=400, content=jsonable_encoder({"detail": exc.errors(), "body": exc.body}), ) @app.get("/") async def root(): return {"message": "RUNABOT API"}