bunkerized-nginx/tests/core/bunkernet/api/main.py
2023-10-03 12:01:24 +02:00

59 lines
1.4 KiB
Python

from uuid import uuid4
from fastapi import FastAPI, Request
from fastapi.responses import JSONResponse
app = FastAPI()
instance_id = None
report_num = 0
@app.get("/ping")
async def ping(_: Request):
return JSONResponse(status_code=200, content={"result": "ok", "data": "pong"})
@app.post("/register")
async def register(_: Request):
global instance_id
instance_id = str(uuid4())
return JSONResponse(status_code=200, content={"result": "ok", "data": instance_id})
@app.post("/report")
async def report(_: Request):
global report_num
report_num += 1
return JSONResponse(status_code=200, content={"result": "ok", "data": "Report acknowledged."})
@app.get("/db")
async def db(_: Request):
return JSONResponse(status_code=200, content={"result": "ok", "data": []})
@app.get("/instance_id")
async def get_instance_id(_: Request):
global instance_id
return JSONResponse(status_code=200, content={"result": "ok", "data": instance_id})
@app.get("/report_num")
async def get_report_num(_: Request):
global report_num
return JSONResponse(status_code=200, content={"result": "ok", "data": report_num})
@app.get("/reset")
async def reset(_: Request):
global instance_id, report_num
instance_id = None
report_num = 0
return JSONResponse(status_code=200, content={"result": "ok", "data": "Reset done."})
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="127.0.0.1", port=8080)