Python Web 应用程序:WSGI 的基础知识

中间件是扩展 WSGI 应用程序功能的一种简单方法。由于您只需要提供一个可调用对象,因此您可以随意将其包装在其他函数中。

例如,假设我们要检查environ. 我们可以轻松地创建一个中间件来执行此操作,如下例所示:

import pprint

def handler(environ, start_fn):

start_fn(‘200 OK’, [(‘Content-Type’, ‘text/plain’)])

return [“Hello World!\n”]

def log_environ(handler):

def _inner(environ, start_fn):

pprint.pprint(environ)

return handler(environ, start_fn)

return _inner

app = log_environ(handler)

这里,log_environ是一个返回函数的函数,它environ在推迟到原始回调之前漂亮地打印参数。

以这种方式编写中间件的好处是中间件和处理程序不必相互了解或关心。例如,您可以轻松地log_environ连接到Flask应用程序,因为 Flask 应用程序是 WSGI 应用程序。

其他一些有用的中间件想法:

import pprint

def handle_error(handler):

def _inner(environ, start_fn):

try:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值