app.py 931 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/usr/bin/env python
  2. import json
  3. import falcon
  4. from email.utils import formatdate
  5. # resource endpoints
  6. class JSONResource(object):
  7. def on_get(self, request, response):
  8. response.set_header('Date', formatdate(timeval=None, localtime=False, usegmt=True))
  9. json_data = {'message': "Hello, world!"}
  10. response.body = json.dumps(json_data)
  11. class PlaintextResource(object):
  12. def on_get(self, request, response):
  13. response.set_header('Date', formatdate(timeval=None, localtime=False, usegmt=True))
  14. response.set_header('Content-Type', 'text/plain')
  15. response.body = b'Hello, world!'
  16. # setup
  17. app = falcon.API()
  18. app.add_route("/json", JSONResource())
  19. app.add_route("/plaintext", PlaintextResource())
  20. # entry point for debugging
  21. if __name__ == "__main__":
  22. from wsgiref import simple_server
  23. httpd = simple_server.make_server('localhost', 8080, app)
  24. httpd.serve_forever()