server.py 993 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import os, sys
  2. from starlette.applications import Starlette
  3. from starlette.responses import HTMLResponse, JSONResponse, Response
  4. from starlette.routing import Route
  5. if "peers_identity" not in sys.path:
  6. sys.path.insert(0, os.path.abspath("."))
  7. from peers_identity import register, inbox, outbox
  8. async def get_request_json(request):
  9. try:
  10. return await request.json()
  11. except:
  12. return None
  13. async def homepage_r(request):
  14. return Response("Welcome home.", media_type="text/plain")
  15. async def register_r(request):
  16. return JSONResponse(register(await get_request_json(request)))
  17. async def inbox_r(request):
  18. return JSONResponse(inbox())
  19. async def outbox_r(request):
  20. return JSONResponse(outbox())
  21. app = Starlette(
  22. debug=True,
  23. routes=[
  24. Route("/", homepage_r),
  25. Route("/register", register_r, methods=["POST"]),
  26. Route("/inbox", inbox_r, methods=["POST"]),
  27. Route("/outbox", outbox_r, methods=["POST"]),
  28. ],
  29. )