【OpenStack】WSGI and Webob+Paste示例

本文介绍了如何结合WebOb和Paste库来创建OpenStack的WSGI应用程序,详细阐述了从一个简单的WSGI程序到使用WebOb进行请求处理,再到利用Paste进行部署的全过程。
摘要由CSDN通过智能技术生成
声明:
本博客欢迎转发,但请保留原作者信息!
新浪微博:@孔令贤HW;
博客地址:http://blog.csdn.net/lynn_kong

内容系本人学习、研究和总结,如有雷同,实属荣幸!

1. 一个简单的WSGI程序

"""Hello World using WSGI """
from paste import httpserver
def application(environ, start_response):
    start_response('200 OK', [('Content-type', 'text/html')])
    return ['Hello World']
httpserver.serve(application, host='127.0.0.1', port=8080)
这个不用过多解释,wsgi的入门程序。在本机用cURL工具可以进行测试。

2. WSGI With WebOb + Paste

"""Hello World using WebOb, Paste + WSGI """
from webob import Response
from webob.dec import wsgify
from webob import exc
from paste import httpserver
from paste.deploy import loadapp

INI_PATH = '/home/paste.ini'

@wsgify
def application(request):
    return Response('Hello World of WebOb!')

@wsgify.middleware
def auth_filter(request, app):
    if request.headers.get('X-Auth-Token') != 'konglingxian':
        return exc.HTTPForbidden()
    return app(request)
    
def app_factory(global_config, **local_config):
    return application
    
def filter_factory(global_config, **local_config):
    return auth_filter
    
wsgi_app = loadapp('config:' + INI_PATH)
httpserver.serve(wsgi_app, host='127.0.0.1', port=8080)
在paste.ini中的配置如下:
[pipeline:main]
pipeline = auth hello
[app:hello]
paste.app_factory = wsgi_webob_test:app_factory
[filter:auth]
paste.filter_factory = wsgi_webob_test:filter_factory




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值