hello.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import os
  2. import sys
  3. import time
  4. from email.utils import formatdate
  5. try:
  6. from ujson import dumps as jsonify
  7. except:
  8. from json import dumps as jsonify
  9. g_time = 0
  10. g_asctime = ""
  11. def application(environ, start_response):
  12. global g_time
  13. global g_asctime
  14. path = environ["PATH_INFO"]
  15. headers = [ ('Server', 'uWSGI') ]
  16. curr_time = int(time.time())
  17. if curr_time != g_time:
  18. g_time = curr_time
  19. g_asctime = formatdate(timeval=None, localtime=False, usegmt=True)
  20. headers.append( ('Date', g_asctime ) )
  21. if path == '/plaintext':
  22. data = b'Hello, World!'
  23. headers.append( ('Content-Type', 'text/plain') )
  24. headers.append( ('Content-Length', str(len(data))) )
  25. start_response('200 OK', headers)
  26. return [ data ]
  27. if path == '/json':
  28. data = jsonify( {"message": "Hello, World!"} ).encode('utf8')
  29. headers.append( ('Content-Type', 'application/json') )
  30. headers.append( ('Content-Length', str(len(data))) )
  31. start_response('200 OK', headers)
  32. return [ data ]
  33. headers.append( ('Content-Length', '0') )
  34. start_response('400 Bad Request', headers)
  35. return [ b'' ]