3

I would like to get a clear understanding of what would be the most pythonic and cleaner way to implement:

  1. a custom logger.
  2. a piece of code which connects via REST to a third-party entitlement system to be combined with the internal Pyramid ACLs and permission system.

Should I rather write a WSGI middleware which gets the app as parameter or a pure Pyramid Tween for either one or both my requirements?

Also, which of wsgi middleware or tween is the most compliant with apache + mod_wsgi?

Thanks

4

2 回答 2

5

我请求与梅里克尔斯的观点不同。对于案例 2,您肯定要使用补间,因为它谈论“集成”。WSGI 中间件被过度使用了——我的意见是,如果你的应用程序需要中间件,那么它就不再是中间件了。例如,参见PEP 333作者的出色咆哮

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

于 2013-07-30T16:15:46.553 回答
2

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

于 2013-07-29T02:49:55.647 回答