【发布时间】:2010-03-05 06:11:56
【问题描述】:
我有 WSGI 中间件,它需要捕获中间件内部层通过调用 start_response 返回的 HTTP 状态(例如 200 OK)。目前我正在做以下事情,但滥用列表对我来说似乎不是“正确”的解决方案:
类 TransactionalMiddlewareInterface(object):
def __init__(self, application, **config):
self.application = 应用程序
self.config = 配置
def __call__(self, environ, start_response):
状态 = []
def local_start(stat_str, headers=[]):
status.append(int(stat_str.split('')[0]))
返回 start_response(stat_str, headers)
尝试:
结果 = self.application(环境,local_start)
最后:
状态 = 状态 [0] 如果状态为其他 0
如果状态 > 199 和状态
列表滥用的原因是我无法从完全包含的函数中为父命名空间分配新值。
【问题讨论】:
标签: python wsgi middleware correctness