Primary Maintainer¶
- Primary Maintainer:
dims
- Other Contributors:
chungg
https://blueprints.launchpad.net/oslo.middleware/+spec/graduate-oslo-middleware
The new oslo.middleware library will provide a common library for wsgi middleware currently contained in oslo-incubator.
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
None
oslo.middleware library provides access to the following middleware (‘middleware’ suffix will be dropped from original naming):
* CatchErrors
* CorrelationId
* Debug
* RequestId
* RequestBodySizeLimiter
To utilise the new middleware, after including oslo.middleware library, projects can declare the new middleware in wsgi pipeline as such:
[filter:<middleware>]
paste.filter_factory = oslo.middleware:<ClassName>.factory
chungg
None
dims
chungg
dims
Target Milestone for completion: Juno-3
https://wiki.openstack.org/wiki/Oslo/CreatingANewLibrary#Checklist
add deprecated decorator to current incubator classes
drop middleware suffix from class names
import middleware classes into middleware/__init__.py
audit middleware will not be included. it will be included in keystonemiddleware as part of keystone’s adoption of audit
notifier middleware will not be included. it will be included in oslo.messaging to minimise dependencies in oslo.middleware.
General use of middleware remains the same. The only change in usage would be to reference middlware in oslo.middleware library rather than openstack/common.
A deprecated decorator will be added to existing incubator classes so when the incubator version is used, log will notify of current oslo.middleware version.
None
https://etherpad.openstack.org/p/oslo-middleware-dependency
Note
This work is licensed under a Creative Commons Attribution 3.0 Unported License. http://creativecommons.org/licenses/by/3.0/legalcode
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.