for k, v in environ.iteritems(): yield 'key: {} value: {}\n'.format(k, str(environ[k])) #yield 'WSGI.INPUT:\n' #for k, v in params.iteritems(): #yield 'key: {} value: {}\n'.format(k, str(params[k])) if __name__ == '__main__': # WSGI path dispatcher recipe from Python Cookbook, 3rd ed. # modifications for time series use from resty import PathDispatcher from wsgiref.simple_server import make_server # Create the dispatcher and register functions dispatcher = PathDispatcher() dispatcher.register('GET', '/hello', hello_world) dispatcher.register('GET', '/localtime', localtime) dispatcher.register('GET', '/stats/disk', diskstats) dispatcher.register('GET', '/ctrl', ctrl) dispatcher.register('PUT', '/observer', create_observer) # spin up the Observer thread for disk stats # these globals will be rolled into objects later... or something like that global obs, q q = Queue() obs = StorageObserver('var partition', q, '/var', data_format=CSV_DATA) t = Thread(target=obs.run) t.start() time.sleep(5) # get some data in the queue # Launch a basic server
params = environ['params'] resp = _hello_resp.format(name=params.get('name')) yield resp.encode('utf-8') _localtime_resp = '''\ <?xml version="1.0"?> <time> <year>{t.tm_year}</year> <month>{t.tm_mon}</month> <day>{t.tm_mday}</day> <hour>{t.tm_hour}</hour> <minute>{t.tm_min}</minute> <second>{t.tm_sec}</second> </time>''' def localtime(environ, start_reponse): start_reponse('200 OK', [('Content-type', 'application/xml')]) resp = _localtime_resp.format(t=time.localtime) yield resp.encode('utf-8') if __name__ == '__main__': dispatcher = PathDispatcher() dispatcher.register('GET', '/hello', hello_world) dispatcher.register('GET', '/localtime', localtime) httped = make_server('', 8080, dispatcher) print('Serving on 8080') httped.serve_forever()
class MyFunc: def __init__(self): self.name = "world!!" pass def hello_world(self, environ, start_response): start_response('200 OK', [('Content-type', 'text/html')]) params = environ['params'] # resp = _hello_resp.format(name=params.get('name')) resp = _hello_resp.format(name=self.name) yield resp.encode('utf-8') def localtime(self, environ, start_response): start_response('200 OK', [('Content-type', 'application/xml')]) resp = _localtime_resp.format(t=time.localtime()) yield resp.encode('utf-8') if __name__ == '__main__': # Create the dispatcher and register functions myfunc = MyFunc() dispatcher = PathDispatcher() dispatcher.register('GET', '/hello', myfunc.hello_world) dispatcher.register('GET', '/localtime', myfunc.localtime) # Launch a basic server httpd = make_server('', 8080, dispatcher) print('Serving on port 8080...') httpd.serve_forever()
_localtime_resp = '''\ <?xml version="1.0"?> <time> <year>{t.tm_year}</year> <month>{t.tm_mon}</month> <day>{t.tm_mday}</day> <hour>{t.tm_hour}</hour> <minute>{t.tm_min}</minute> <second>{t.tm_sec}</second> </time>''' def localtime(environ, start_response): start_response('200 OK', [('Content-type', 'application/xml')]) resp = _localtime_resp.format(t=time.localtime()) yield resp.encode('utf-8') if __name__ == '__main__': from resty import PathDispatcher from wsgiref.simple_server import make_server # Create the dispatcher and register functions dispatcher = PathDispatcher() dispatcher.register('GET', '/hello', hello_world) dispatcher.register('GET', '/localtime', localtime) # Launch a basic server httpd = make_server('', 8080, dispatcher) print('Serving on port 8080...') httpd.serve_forever()
source = params.get('source') target = params.get('target') print("Retrieving expanded path data :::: source=" + source + " : target=" + target) graphData = get_expanded_path(source, target) print(json.dumps(graphData) ) start_response('200 OK', [ ('Content-type', 'application/json'), ('Access-Control-Allow-Origin', '*') ]) yield json.dumps(graphData).encode('utf-8') # # Running the server # if __name__ == '__main__': from resty import PathDispatcher from diagdata import filter_data from diagdata import get_expanded_path from wsgiref.simple_server import make_server # Create the dispatcher and register functions dispatcher = PathDispatcher() dispatcher.register('GET', '/data', fetch_data) dispatcher.register('GET', '/expand', expand_link) # Launch a basic server httpd = make_server('', 24680, dispatcher) print('Serving on port 24680...') httpd.serve_forever()
# 组成一个数组,数组中只有一个字典 dic = {'name': name, 'no': no} return [json.dumps(dic)] def hello_world(environ, start_response): start_response('200 OK', [('Content-Type','text/html;chartset=utf-8')]) strval = "hello word 大口径的空间!" #% (environ['PATH_INFO'].encode('iso-8859-1').decode('utf8')[1:] or 'web') yield strval def GetUsers(environ, start_response): start_response('200 OK', [('Content-type', 'text/html;chartset=utf-8')]) params = urllib.parse.parse_qs(environ['QUERY_STRING']) username = params.get('username', [''])[0] sql = "select user_id,user_name,user_num,gender_code from t_userinfo where user_name like '%" + username + "%'" rs = oracleTest.GetDataSet(sql) return [json.dumps(rs)] #print(sys.getdefaultencoding()) if __name__ == "__main__": port = 5088 dispatcher = PathDispatcher() dispatcher.register('GET', '/hello', hello_world) dispatcher.register('GET', '/userinfo', GetUsers) #dispatcher.register('GET', '/localtime', localtime) httpd = make_server("0.0.0.0", port, dispatcher) print("serving http on port {0}...".format(str(port))) httpd.serve_forever()
data = faces.tolist() return [json.dumps(dict(status=0, data=data)).encode('utf-8')] else: return ['{"status":0,"data":[]}'.encode('utf-8')] except Exception as error: res = '{"status":-1,"data":"%s"}' % (str(error)) return [res.encode('utf-8')] def root(environ, response): headers = [('Content-type', 'text/plain; charset=utf-8')] status = '200 OK' response(status, headers) respose = '{"status":0,"data":"请指定uri"}' return [respose.encode('utf-8')] if __name__ == '__main__': from wsgiref.simple_server import make_server from resty import PathDispatcher d = PathDispatcher() d.register('GET', '/face_detection', face_detection) d.register('GET', '/', root) # 指定服务器端口 port = 8080 httpd = make_server('', port, d) print('Serving on port {0}...'.format(port)) httpd.serve_forever()