python-tool / app.py
prakashkumarsingh's picture
Update app.py
f2604df verified
raw
history blame contribute delete
668 Bytes
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