misc: update to new style middlewares (with compat layer) (#41236)

This commit is contained in:
Frédéric Péters 2020-04-01 14:57:25 +02:00
parent d52fbc23b3
commit e7463c49ad
4 changed files with 8 additions and 9 deletions

View File

@ -15,15 +15,12 @@ TEMPLATES[0]['OPTIONS']['context_processors'] = [
'hobo.context_processors.theme_base', 'hobo.context_processors.theme_base',
] + TEMPLATES[0]['OPTIONS']['context_processors'] ] + TEMPLATES[0]['OPTIONS']['context_processors']
if not 'MIDDLEWARE_CLASSES' in globals(): MIDDLEWARE = (
MIDDLEWARE_CLASSES = global_settings.MIDDLEWARE_CLASSES
MIDDLEWARE_CLASSES = (
'hobo.middleware.utils.StoreRequestMiddleware', 'hobo.middleware.utils.StoreRequestMiddleware',
'hobo.middleware.xforwardedfor.XForwardedForMiddleware', 'hobo.middleware.xforwardedfor.XForwardedForMiddleware',
'hobo.middleware.VersionMiddleware', # /__version__ 'hobo.middleware.VersionMiddleware', # /__version__
'hobo.middleware.cors.CORSMiddleware', 'hobo.middleware.cors.CORSMiddleware',
) + MIDDLEWARE_CLASSES ) + MIDDLEWARE
CACHES = { CACHES = {
'default': { 'default': {

View File

@ -20,6 +20,7 @@ from threading import Lock
from contextlib import contextmanager from contextlib import contextmanager
from django.utils import six from django.utils import six
from django.utils.deprecation import MiddlewareMixin
from quixote import get_publisher, get_request from quixote import get_publisher, get_request
from quixote.errors import PublishError from quixote.errors import PublishError
@ -249,7 +250,7 @@ def request(request):
pub._clear_request() pub._clear_request()
class PublishErrorMiddleware(object): class PublishErrorMiddleware(MiddlewareMixin):
def process_exception(self, request, exception): def process_exception(self, request, exception):
if not isinstance(exception, PublishError): if not isinstance(exception, PublishError):
return None return None

View File

@ -19,6 +19,7 @@ import threading
import time import time
from django.http import HttpResponseBadRequest, HttpResponseRedirect from django.http import HttpResponseBadRequest, HttpResponseRedirect
from django.utils.deprecation import MiddlewareMixin
from django.utils.six.moves.urllib import parse as urllib from django.utils.six.moves.urllib import parse as urllib
from quixote import get_publisher from quixote import get_publisher
@ -28,7 +29,7 @@ from .qommon.http_response import HTTPResponse
from .compat import CompatHTTPRequest, CompatWcsPublisher from .compat import CompatHTTPRequest, CompatWcsPublisher
class PublisherInitialisationMiddleware(object): class PublisherInitialisationMiddleware(MiddlewareMixin):
'''Initializes the publisher according to the request server name.''' '''Initializes the publisher according to the request server name.'''
def process_request(self, request): def process_request(self, request):
pub = get_publisher() pub = get_publisher()
@ -95,7 +96,7 @@ class PublisherInitialisationMiddleware(object):
return response return response
class AfterJobsMiddleware(object): class AfterJobsMiddleware(MiddlewareMixin):
ASYNC = True ASYNC = True
def process_response(self, request, response): def process_response(self, request, response):

View File

@ -112,7 +112,7 @@ TEMPLATES = [
}, },
] ]
MIDDLEWARE_CLASSES = ( MIDDLEWARE = (
'django.middleware.common.CommonMiddleware', 'django.middleware.common.CommonMiddleware',
'wcs.middleware.PublisherInitialisationMiddleware', 'wcs.middleware.PublisherInitialisationMiddleware',
#'django.contrib.sessions.middleware.SessionMiddleware', #'django.contrib.sessions.middleware.SessionMiddleware',