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 相关文章推荐
python3 与python2 异常处理的区别与联系
Jun 19 Python
一步步教你用Python实现2048小游戏
Jan 19 Python
Pycharm学习教程(7)虚拟机VM的配置教程
May 04 Python
浅谈python中copy和deepcopy中的区别
Oct 23 Python
Python实现iOS自动化打包详解步骤
Oct 03 Python
pytorch使用Variable实现线性回归
May 21 Python
详细介绍pandas的DataFrame的append方法使用
Jul 31 Python
python中栈的原理及实现方法示例
Nov 27 Python
基于python生成英文版词云图代码实例
May 16 Python
Python爬虫开发与项目实战
Dec 16 Python
python 基于UDP协议套接字通信的实现
Jan 22 Python
python创建字典及相关管理操作
Apr 13 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 彩色文字实现代码
2009/06/29 PHP
解析argc argv在php中的应用
2013/06/24 PHP
php实现简单的语法高亮函数实例分析
2015/04/27 PHP
我遇到的参数传递中 双引号单引号嵌套问题
2010/02/11 Javascript
form.submit()不能提交表单的原因分析
2014/10/23 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
Javascript数组Array方法解读
2016/03/13 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
jQuery过滤选择器用法示例
2016/09/12 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
2016/09/14 Javascript
常用原生js自定义函数总结
2016/11/20 Javascript
Bootstrap基本样式学习笔记之表格(2)
2016/12/07 Javascript
清除输入框内的空格
2016/12/21 Javascript
JS实现最简单的冒泡排序算法
2017/02/15 Javascript
快速理解 JavaScript 中的 LHS 和 RHS 查询的用法
2017/08/24 Javascript
微信小程序getPhoneNumber获取用户手机号
2017/09/29 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
vue中的适配px2rem示例代码
2018/11/19 Javascript
js中比较两个对象是否相同的方法示例
2019/09/02 Javascript
JavaScript装饰者模式原理与用法实例详解
2020/03/09 Javascript
[56:20]LGD vs VP Supermajor 败者组决赛 BO3 第三场 6.10
2018/07/04 DOTA
python在多玩图片上下载妹子图的实现代码
2013/08/13 Python
在Python中使用PIL模块对图片进行高斯模糊处理的教程
2015/05/05 Python
Python 脚本的三种执行方式小结
2019/12/21 Python
关于Pytorch的MNIST数据集的预处理详解
2020/01/10 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
2020/08/24 Python
在HTML5中如何使用CSS建立不可选的文字
2014/10/17 HTML / CSS
男女时尚与复古风格在线购物:RoseGal(全球免费送货)
2017/07/19 全球购物
美国豪华时尚女性精品店:Kirna Zabête
2018/01/11 全球购物
您附近的水疗和健康场所:Spafinder(美国)
2019/07/05 全球购物
AJAX的优缺点都有什么
2015/08/18 面试题
JAVA中运算符的分类及举例
2015/09/12 面试题
党员干部承诺书范文
2014/03/25 职场文书
2014年客房服务员工作总结
2014/11/18 职场文书
委托证明范本
2014/11/25 职场文书
社团个人总结范文
2015/03/05 职场文书