| from fastapi import FastAPI, Request |
| from fastapi.responses import JSONResponse |
| import sys |
| import io |
| import traceback |
|
|
| app = FastAPI() |
|
|
| @app.post("/execute") |
| async def execute_code(request: Request): |
| data = await request.json() |
| code = data.get("code", "") |
| output = io.StringIO() |
| sys_stdout = sys.stdout |
| sys.stderr = sys.stderr |
| sys.stdout = output |
| sys.stderr = output |
| try: |
| exec(code, {}) |
| result = output.getvalue() |
| except Exception: |
| result = output.getvalue() + "\n" + traceback.format_exc() |
| finally: |
| sys.stdout = sys_stdout |
| sys.stderr = sys.stderr |
| return JSONResponse({"result": resul |