毕业的 Oslo 中间件

https://blueprints.launchpad.net/oslo.middleware/+spec/graduate-oslo-middleware

新的 oslo.middleware 库将为当前包含在 oslo-incubator 中的 wsgi 中间件提供一个通用库。

库名称

oslo.middleware

内容

  • openstack/common/middleware/base.py

  • openstack/common/middleware/catch_errors.py

  • openstack/common/middleware/correlation_id.py

  • openstack/common/middleware/debug.py

  • openstack/common/middleware/request_id.py

  • openstack/common/middleware/sizelimit.py

  • tests/unit/middleware/test_catch_errors.py

  • tests/unit/middleware/test_correlation_id.py

  • tests/unit/middleware/test_request_id.py

  • tests/unit/middleware/test_sizelimit.py

早期采用者

公共 API

oslo.middleware 库提供对以下中间件的访问(将删除原始命名的“middleware”后缀)

* CatchErrors
* CorrelationId
* Debug
* RequestId
* RequestBodySizeLimiter

为了使用新的中间件,在包含 oslo.middleware 库后,项目可以在 wsgi 管道中声明新的中间件,如下所示

[filter:<middleware>]
paste.filter_factory = oslo.middleware:<ClassName>.factory

实现

负责人

主要负责人

chungg

其他贡献者

主要维护者

主要维护者

dims

其他贡献者

chungg

安全联系人

安全联系人

dims

里程碑

完成目标里程碑:Juno-3

工作项

  • https://wiki.openstack.org/wiki/Oslo/CreatingANewLibrary#Checklist

  • 为当前的孵化器类添加弃用装饰器

  • 从类名中删除 middleware 后缀

  • 将中间件类导入到 middleware/__init__.py 中

  • 审计中间件将不包含在内。它将作为 keystone 采用审计的一部分包含在 keystonemiddleware 中

  • 通知中间件将不包含在内。它将包含在 oslo.messaging 中,以最大限度地减少 oslo.middleware 中的依赖项。

采用说明

中间件的常规使用保持不变。使用上的唯一变化是引用 oslo.middleware 库中的中间件,而不是 openstack/common。

将向现有的孵化器类添加弃用装饰器,以便在使用孵化器版本时,日志会通知当前的 oslo.middleware 版本。

依赖项

参考资料

https://etherpad.openstack.org/p/oslo-middleware-dependency

注意

本作品采用知识共享署名 3.0 非移植许可协议授权。 http://creativecommons.org/licenses/by/3.0/legalcode