金字塔:用于自定义记录器和外部授权系统的Tween或WSGI中间件?

问题描述 投票:3回答:2

我想清楚地了解什么是最Python的和最简洁的实现方式:

  1. 自定义记录器。
  2. 一段通过REST连接到第三方权利系统并与内部金字塔ACL和许可系统结合的代码。

我宁愿编写一个WSGI中间件来获取该应用程序作为参数,还是一个或两个我的需求都使用纯金字塔形Tween?

而且,哪个wsgi中间件或补间与Apache + mod_wsgi最兼容?

谢谢

python pyramid middleware tween
2个回答
2
投票

除非您需要特定于框架的详细信息,否则一切都比WSGI中间件更好。特别是如果您很聪明,并使用webob装饰器将复杂的WSGI协议转换为简单的请求/响应对象。例如,当与权限集成时,我什至不确定补间是否有意义。从您的groupfinder中,您可以仅连接到您的权利系统。对于日志记录,有很多WSGI(粘贴的事务记录器)和补间(pyramid_exclog,pyramid_debugtoolbar)记录器的示例,您可以从中获取想法。


5
投票

我谨与Merickels的观点有所不同。对于案例2,您肯定要使用补间,因为它涉及“集成”。 WSGI中间件被过度使用-我的意见是,如果您的应用程序需要中间件,那么它就不再应该是中间件。例如,请参见the excellent rant作者的PEP 333

此外,由于api更干净且开销更少,因此即使是记录-对于您自己的应用程序-也应在金字塔补间中进行。无论如何,如果需要,将其编写为WSGI中间件将是微不足道的。

© www.soinside.com 2019 - 2024. All rights reserved.