1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import os
- import sys
- import time
- from email.utils import formatdate
- try:
- from ujson import dumps as jsonify
- except:
- from json import dumps as jsonify
- g_time = 0
- g_asctime = ""
- def application(environ, start_response):
- global g_time
- global g_asctime
-
- path = environ["PATH_INFO"]
- headers = [ ('Server', 'uWSGI') ]
- curr_time = int(time.time())
- if curr_time != g_time:
- g_time = curr_time
- g_asctime = formatdate(timeval=None, localtime=False, usegmt=True)
-
- headers.append( ('Date', g_asctime ) )
- if path == '/plaintext':
- data = b'Hello, World!'
- headers.append( ('Content-Type', 'text/plain') )
- headers.append( ('Content-Length', str(len(data))) )
- start_response('200 OK', headers)
- return [ data ]
-
- if path == '/json':
- data = jsonify( {"message": "Hello, World!"} ).encode('utf8')
- headers.append( ('Content-Type', 'application/json') )
- headers.append( ('Content-Length', str(len(data))) )
- start_response('200 OK', headers)
- return [ data ]
- headers.append( ('Content-Length', '0') )
- start_response('400 Bad Request', headers)
- return [ b'' ]
|