server.py hinzugefügt
This commit is contained in:
34
server.py
Normal file
34
server.py
Normal file
@@ -0,0 +1,34 @@
|
||||
from fastapi import FastAPI
|
||||
from pydantic import BaseModel
|
||||
import subprocess
|
||||
import tempfile
|
||||
import sys
|
||||
import os
|
||||
|
||||
app = FastAPI()
|
||||
|
||||
class CodeRequest(BaseModel):
|
||||
code: str
|
||||
|
||||
@app.post("/execute")
|
||||
def execute_code(req: CodeRequest):
|
||||
with tempfile.NamedTemporaryFile(
|
||||
suffix=".py", delete=False
|
||||
) as f:
|
||||
f.write(req.code.encode("utf-8"))
|
||||
filename = f.name
|
||||
|
||||
try:
|
||||
result = subprocess.run(
|
||||
[sys.executable, filename],
|
||||
capture_output=True,
|
||||
text=True,
|
||||
timeout=30
|
||||
)
|
||||
return {
|
||||
"stdout": result.stdout,
|
||||
"stderr": result.stderr,
|
||||
"returncode": result.returncode
|
||||
}
|
||||
finally:
|
||||
os.remove(filename)
|
||||
Reference in New Issue
Block a user