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

6      使用webob来包装wsgi请求和响应

先介绍下webob: WebOb是一个Python库,主要是用在WSGI中对请求环境变量request environment(也就是WSGI应用中的参数environ)进行包装(提供wrapper),并提供了一个对象来方便的处理返回response消息。WebOb提供的对象映射了大多数的HTTP方法,包括头解析,content协商等。这里的映射,就是说只需要对对象进行操作,就可以完成HHTP的方法,从而大大简化开发难度(http://blog.csdn.net/ztejiagn/article/details/8722838)。

因此,可以将代码进一步优化:

__author__= 'w00194081'

"""usewebob to warpper request"""

importwebob

importeventlet

fromeventlet import wsgi

fromwebob import Request

fromwebob import Response

 

classApplication(object):

    def __call__(self, env, start_response):

        req = Request(env)

        print req.method

        print req.body

        print req.headers

        response = Response(body="helloworld! I am sxmatch" , content_type='text/plain')

        return response(env, start_response)

 

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()

 这里我使用webob将wsgi server传入的env封装为Webob中的Request对象,并打印了request对象中的method,body,headers属性。最后用Webob中的Response对象来封装响应

7    总结

Openstack综合使用wsgi,router,webob,卸程等多个组件以支撑其自身业务,所以在学习openstack这部分时,困难还是比较多的,需要一步一步从基本学起。

随便吐槽一下,为什么我的CSDN博客稍微写长一点就保存失败啊。。。。。好好的一篇文章硬是拆成了四篇。。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值