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异常处理总结
Aug 15 Python
Python 不同对象比较大小示例探讨
Aug 21 Python
《Python之禅》中对于Python编程过程中的一些建议
Apr 03 Python
浅析Python多线程下的变量问题
Apr 28 Python
在Django中编写模版节点及注册标签的方法
Jul 20 Python
简析Python的闭包和装饰器
Feb 26 Python
Python中用post、get方式提交数据的方法示例
Sep 22 Python
Python递归函数实例讲解
Feb 27 Python
Python Numpy 控制台完全输出ndarray的实现
Feb 19 Python
python中%格式表达式实例用法
Jun 18 Python
Python之matplotlib绘制饼图
Apr 13 Python
图神经网络GNN算法
May 11 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函数
2006/10/09 PHP
php获得当前的脚本网址
2007/12/10 PHP
php自动识别文字编码并转换为目标编码的方法
2015/08/08 PHP
Yii使用migrate命令执行sql语句的方法
2016/03/15 PHP
PHP实现多图上传和单图上传功能
2018/05/17 PHP
jQuery中$.extend()用法实例
2015/06/24 Javascript
js实现商城星星评分的效果
2015/12/29 Javascript
js密码强度实时检测代码
2016/03/02 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
Angular自定义组件实现数据双向数据绑定的实例
2017/12/11 Javascript
深入理解与使用keep-alive(配合router-view缓存整个路由页面)
2018/09/25 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
JavaScript实现星级评价效果
2019/05/17 Javascript
微信小程序实现页面分享onShareAppMessage
2019/08/12 Javascript
微信小程序框架的页面布局代码
2019/08/17 Javascript
Vue中keep-alive组件作用详解
2020/02/04 Javascript
python中的一些类型转换函数小结
2013/02/10 Python
python之yield表达式学习
2014/09/02 Python
python 文件操作api(文件操作函数)
2016/08/28 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
2019/07/30 Python
用Python画小女孩放风筝的示例
2019/11/23 Python
基于django和dropzone.js实现上传文件
2020/11/24 Python
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
Java面试中常遇到的问题,也是需要注意的几点
2013/08/30 面试题
华为C++笔试题
2014/08/05 面试题
新闻学毕业生自荐信
2013/11/15 职场文书
挑战杯创业计划书的写作指南
2014/01/07 职场文书
小学开学寄语
2014/01/19 职场文书
大学应届生的自我评价
2014/03/06 职场文书
优秀求职信
2014/05/29 职场文书
2015个人年度工作总结范文
2015/05/28 职场文书
如何在pycharm中快捷安装pip命令(如pygame)
2021/05/31 Python
MySQL 常见的数据表设计误区汇总
2021/06/07 MySQL