5 将application封装为class进行调用
为了进一步接近openstack中用法,将上文中的application函数可以封装为class进行调用,代码如下:
__author__= 'sxmatch'
"""calla application class"""
importwebob
importeventlet
fromeventlet import wsgi
fromwebob import Request
classApplication(object):
def __call__(self, env, start_response):
status = "200 OK"
response_headers = [('Content-Type','text/plain')]
start_response(status,response_headers)
return ['Hello, World! I amsxmatch!\r\n']
defstart():
print "start wsgi server"
app=Application()
wsgi.server(eventlet.listen(('192.168.82.191', 8090)), app)
wsgi_server= eventlet.spawn(start)
wsgi_server.wait()
其中可以看到,wsgi.server中app已经不是方法了,而是类实例,当然这个类要是可调用的,即要实现__call__方法。