博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何为Pyramid添加Middleware
阅读量:6150 次
发布时间:2019-06-21

本文共 1157 字,大约阅读时间需要 3 分钟。

在pylons的文档中,有专门讲过如何添加自己的Middleware, 通过这些Middleware, 我们可以改变输入和输出。这也是WSGI(Web Server Gateway Interface)的优势和精髓所在。

 

那么在pyramid中,我们如何添加Middleware呢?

假设我们要添加一个我们自己的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')

本文基于许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名(包含链接)。如您有任何疑问或者授权方面的协商,请。

本文转自JustRun博客园博客,原文链接:http://www.cnblogs.com/JustRun1983/archive/2012/07/22/2603781.html,如需转载请自行联系原作者

你可能感兴趣的文章
我对原型链的学习理解笔记
查看>>
Java面试那些道道——今年秋招就靠它了
查看>>
http2.0的新功能
查看>>
Percona Toolkit初识
查看>>
git 恢复被删除的文件
查看>>
[译]HTML&CSS Lesson3: 了解CSS
查看>>
Spring Boot 视频
查看>>
slor6.6 在linux下的安装以及启动失败解决办法
查看>>
RecycleView 实现多标签展开收起效果
查看>>
吴颖二:12.20 前浪是震荡下行,后浪是震荡上行为哪般
查看>>
使用xcodeproj为工程添加framework
查看>>
Android 版本适配:8.x Oreo(API 级别 26、27)
查看>>
浏览器的事件机制
查看>>
一卡通vip充值消费线上oracle库服务器故障排查过程
查看>>
iOS 获取设备信息之UIDevice的使用,Swift 基于 API
查看>>
【译】Chrome 73版本关于Audio/Video的更新
查看>>
MySQL索引
查看>>
Flutter框架概览
查看>>
AI接棒摩尔定律,或将与人共同进化成为“孪生译员(Twinslator)
查看>>
高并发编程必备基础(上)
查看>>