Pyramid添加Middleware的方法实例

时间:2021-05-22

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章