Pyramid添加Middleware的方法实例


Posted in Python onNovember 27, 2013

假设我们要添加一个我们自己的Middleware,用来记录每次请求的日志
下面就是一个符合规范的Middleware, 构造函数中接受一个WSGI APP, __call__返回一个WSGI APP.

class LoggerMiddleware(object):
    '''WSGI middleware'''
    def __init__(self, application):
        self.app = application
    def __call__(self, environ, start_response):
        # write logs
        try:
            return self.app(environ, start_response)
        except Exception, e:
            # write logs
            pass
        finally:
            # write logs
            pass

在项目的__init__.py的main函数中, 在config.make_wsgi_app上包上一层我们的Middleware:

from pyramid.config import Configurator
    config = Configurator()
    config.scan()
    app = config.make_wsgi_app()
    # Put middleware
    app = LoggerMiddleware(app)
    serve(app, host='0.0.0.0')
Python 相关文章推荐
Python爬虫_城市公交、地铁站点和线路数据采集实例
Jan 10 Python
Python File readlines() 使用方法
Mar 19 Python
Python实现求解括号匹配问题的方法
Apr 17 Python
Python检测网络延迟的代码
May 15 Python
Python基于pandas实现json格式转换成dataframe的方法
Jun 22 Python
python 使用while写猜年龄小游戏过程解析
Oct 07 Python
python元组和字典的内建函数实例详解
Oct 22 Python
windows中安装Python3.8.0的实现方法
Nov 19 Python
Python爬虫解析网页的4种方式实例及原理解析
Dec 30 Python
django从后台返回html代码的实例
Mar 11 Python
python 安装impala包步骤
Mar 28 Python
Pycharm连接远程服务器并远程调试的全过程
Jun 24 Python
linux环境下安装pyramid和新建项目的步骤
Nov 27 #Python
Pyramid将models.py文件的内容分布到多个文件的方法
Nov 27 #Python
Pyramid Mako模板引入helper对象的步骤方法
Nov 27 #Python
使用setup.py安装python包和卸载python包的方法
Nov 27 #Python
pyramid配置session的方法教程
Nov 27 #Python
python实现问号表达式(?)的方法
Nov 27 #Python
Python时区设置方法与pytz查询时区教程
Nov 27 #Python
You might like
PHP中一个控制字符串输出的函数
2006/10/09 PHP
php截取字符串并保留完整xml标签的函数代码
2013/02/06 PHP
php switch语句多个值匹配同一代码块的实现
2014/03/03 PHP
Laravel实现构造函数自动依赖注入的方法
2016/03/16 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
2016/09/22 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
在Laravel 中实现是否关注的示例
2019/10/22 PHP
关于JAVASCRIPT urldecode URL解码的问题
2012/01/08 Javascript
通过JS获取用户本地图片路径并显示的代码
2012/02/16 Javascript
jQuery控制TR显示隐藏的几种方法
2014/06/18 Javascript
深入浅析Node.js 事件循环
2015/12/20 Javascript
去除html代码里面的script正则方法
2016/05/19 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
微信小程序开发经验总结(推荐)
2017/01/11 Javascript
Three.js如何用轨迹球插件(trackball)增加对模型的交互功能详解
2017/09/25 Javascript
深入理解Promise.all
2018/08/08 Javascript
Node.js 使用axios读写influxDB的方法示例
2018/10/26 Javascript
JS html事件冒泡和事件捕获操作示例
2019/05/01 Javascript
layui实现给某一列加点击事件
2019/10/26 Javascript
JS函数参数的传递与同名参数实例分析
2020/03/16 Javascript
在Chrome DevTools中调试JavaScript的实现
2020/04/07 Javascript
Nuxt 嵌套路由nuxt-child组件用法(父子页面组件的传值)
2020/11/05 Javascript
pyqt4教程之实现windows窗口小示例分享
2014/03/07 Python
Python中使用urllib2防止302跳转的代码例子
2014/07/07 Python
用Python的Django框架编写从Google Adsense中获得报表的应用
2015/04/17 Python
对Python 内建函数和保留字详解
2018/10/15 Python
python输出电脑上所有的串口名的方法
2019/07/02 Python
python3利用Axes3D库画3D模型图
2020/03/25 Python
Pycharm插件(Grep Console)自定义规则输出颜色日志的方法
2020/05/27 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
2021/03/03 Python
Html5 Canvas实现图片标记、缩放、移动和保存历史状态功能 (附转换公式)
2020/03/18 HTML / CSS
事业单位公务员的职业生涯规划
2014/01/15 职场文书
会计工作决心书
2014/03/11 职场文书
篮球兴趣小组活动总结
2014/07/07 职场文书
2019年入党思想汇报格式与要求
2019/06/25 职场文书
学生早退检讨书(范文)
2019/08/19 职场文书