wsgi+webob+routes学习笔记-初学篇(下)

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__方法。


你可能感兴趣的:(openstack知识学习,OpenStack)