Django 1.10 introduced some changes to the way that middleware works.
Instead of having separate process_request
and process_response
methods, middleware is now a callable which chains together. This
simplifies most cases to the point where most middleware can be
implemented as a nested function rather than a class. Opting into this
new behavior is done by changing the settings key from
MIDDLEWARE_CLASSES
to MIDDLEWARE
.
This change updates Review Board to use the new setting, and the
built-in middlewares to use the new pattern. As part of this, I needed
to upgrade django-cors-headers to a newer version. I've chosen the last
version that still supports Python 2.7.