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判断文本中消息重复次数的方法
Apr 27 Python
批处理与python代码混合编程的方法
May 19 Python
Python中shutil模块的学习笔记教程
Apr 04 Python
Python利用递归和walk()遍历目录文件的方法示例
Jul 14 Python
Python3.6简单操作Mysql数据库
Sep 12 Python
python @property的用法及含义全面解析
Feb 01 Python
python在回调函数中获取返回值的方法
Feb 22 Python
python3.6 如何将list存入txt后再读出list的方法
Jul 02 Python
python实现的多任务版udp聊天器功能案例
Nov 13 Python
深入了解Python 变量作用域
Jul 24 Python
Python命名空间及作用域原理实例解析
Aug 12 Python
利用django创建一个简易的博客网站的示例
Sep 29 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安全防范技巧分享
2011/11/03 PHP
初品cakephp 入门基础
2012/02/16 PHP
微博短链接算法php版本实现代码
2012/09/15 PHP
php生成随机颜色的方法
2014/11/13 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
2014/11/19 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
简单的jquery拖拽排序效果实现代码
2011/09/20 Javascript
Jquery实现的tab效果可以指定默认显示第几页
2013/10/16 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
分享javascript实现的冒泡排序代码并优化
2016/06/05 Javascript
谈谈JavaScript数组常用方法总结
2017/01/24 Javascript
vuejs使用FormData实现ajax上传图片文件
2017/08/08 Javascript
Vue2.0 事件的广播与接收(观察者模式)
2018/03/14 Javascript
深入理解Vue父子组件生命周期执行顺序及钩子函数
2018/08/12 Javascript
js html实现计算器功能
2018/11/13 Javascript
在Create React App中启用Sass和Less的方法示例
2019/01/16 Javascript
JS数组方法join()用法实例分析
2020/01/18 Javascript
es6函数之尾递归用法实例分析
2020/04/25 Javascript
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
Pycharm设置界面全黑的方法
2018/05/23 Python
Pandas实现dataframe和np.array的相互转换
2019/11/30 Python
python数据处理——对pandas进行数据变频或插值实例
2020/04/22 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
2020/11/22 Python
劳力士官方珠宝商:J.R. Dunn Jewelers
2018/09/29 全球购物
彪马日本官网:PUMA日本
2019/01/31 全球购物
简历自荐信
2013/12/02 职场文书
欢送退休感言
2014/02/08 职场文书
邀请函格式范文
2015/02/02 职场文书
个人学习总结范文
2015/02/15 职场文书
财务个人年度总结范文
2015/02/26 职场文书
护士自荐信怎么写
2015/03/06 职场文书
Django给表单添加honeypot验证增加安全性
2021/05/06 Python
opencv 分类白天与夜景视频的方法
2021/06/05 Python
如何给HttpServletRequest增加消息头
2021/06/30 Java/Android
Pandas自定义选项option设置
2021/07/25 Python