fork download
  1. class Request:
  2. def __init__(self, url, passcode=None):
  3. self.url = url
  4. self.passcode = passcode
  5.  
  6. class Response:
  7. def send(self, response):
  8. print(">", response)
  9.  
  10. class Documentiki:
  11. def __init__(self, handler):
  12. self.handler = handler
  13.  
  14. def __call__(self, request, response):
  15. if request.passcode:
  16. self.handler(request, response)
  17. else:
  18. response.send("xyu")
  19.  
  20. def anon(request, response):
  21. response.send("piz");
  22.  
  23. def pizdos(request, response):
  24. response.send("da")
  25.  
  26. router = {}
  27. router["/pizdos"] = Documentiki(pizdos)
  28. router["/anon"] = anon;
  29.  
  30. def dispatch(request):
  31. response = Response()
  32. handler = router[request.url]
  33. handler(request, response)
  34.  
  35. dispatch(Request("/anon"))
  36. dispatch(Request("/pizdos"))
  37. dispatch(Request("/pizdos", passcode=True))
  38.  
Success #stdin #stdout 0.04s 9260KB
stdin
Standard input is empty
stdout
> piz
> xyu
> da