Merge pull request #16840 from edx/bmedx/django111_conditional_birdcage
Make all uses of birdcage conditional, should fix 1.11 errors
This commit is contained in:
@@ -45,6 +45,9 @@ import imp
|
||||
import os
|
||||
import sys
|
||||
from datetime import timedelta
|
||||
|
||||
import django
|
||||
|
||||
import lms.envs.common
|
||||
# Although this module itself may not use these imported variables, other dependent modules may.
|
||||
from lms.envs.common import (
|
||||
@@ -433,6 +436,13 @@ simplefilter('ignore')
|
||||
|
||||
################################# Middleware ###################################
|
||||
|
||||
# TODO: Remove Django 1.11 upgrade shim
|
||||
# SHIM: Remove birdcage references post-1.11 upgrade as it is only in place to help during that deployment
|
||||
if django.VERSION < (1, 9):
|
||||
_csrf_middleware = 'birdcage.v1_11.csrf.CsrfViewMiddleware'
|
||||
else:
|
||||
_csrf_middleware = 'django.middleware.csrf.CsrfViewMiddleware'
|
||||
|
||||
MIDDLEWARE_CLASSES = [
|
||||
'crum.CurrentRequestUserMiddleware',
|
||||
'request_cache.middleware.RequestCache',
|
||||
@@ -442,7 +452,7 @@ MIDDLEWARE_CLASSES = [
|
||||
'openedx.core.djangoapps.header_control.middleware.HeaderControlMiddleware',
|
||||
'django.middleware.cache.UpdateCacheMiddleware',
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
'birdcage.v1_11.csrf.CsrfViewMiddleware',
|
||||
_csrf_middleware,
|
||||
'django.contrib.sites.middleware.CurrentSiteMiddleware',
|
||||
|
||||
# Instead of SessionMiddleware, we use a more secure version
|
||||
|
||||
@@ -34,6 +34,7 @@ import sys
|
||||
import os
|
||||
|
||||
import dealer.git
|
||||
import django
|
||||
from path import Path as path
|
||||
from warnings import simplefilter
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
@@ -1230,6 +1231,13 @@ simplefilter('ignore')
|
||||
|
||||
################################# Middleware ###################################
|
||||
|
||||
# TODO: Remove Django 1.11 upgrade shim
|
||||
# SHIM: Remove birdcage references post-1.11 upgrade as it is only in place to help during that deployment
|
||||
if django.VERSION < (1, 9):
|
||||
_csrf_middleware = 'birdcage.v1_11.csrf.CsrfViewMiddleware'
|
||||
else:
|
||||
_csrf_middleware = 'django.middleware.csrf.CsrfViewMiddleware'
|
||||
|
||||
MIDDLEWARE_CLASSES = [
|
||||
'crum.CurrentRequestUserMiddleware',
|
||||
|
||||
@@ -1271,7 +1279,7 @@ MIDDLEWARE_CLASSES = [
|
||||
'corsheaders.middleware.CorsMiddleware',
|
||||
'openedx.core.djangoapps.cors_csrf.middleware.CorsCSRFMiddleware',
|
||||
'openedx.core.djangoapps.cors_csrf.middleware.CsrfCrossDomainCookieMiddleware',
|
||||
'birdcage.v1_11.csrf.CsrfViewMiddleware',
|
||||
_csrf_middleware,
|
||||
|
||||
'splash.middleware.SplashMiddleware',
|
||||
|
||||
|
||||
@@ -8,9 +8,13 @@ Settings for load testing.
|
||||
|
||||
from .aws import *
|
||||
|
||||
# TODO: Remove Django 1.11 upgrade shim
|
||||
# SHIM: Remove birdcage references post-1.11 upgrade as it is only in place to help during that deployment
|
||||
|
||||
# Disable CSRF for load testing
|
||||
EXCLUDE_CSRF = lambda elem: elem not in [
|
||||
'django.template.context_processors.csrf',
|
||||
'django.middleware.csrf.CsrfViewMiddleware',
|
||||
'birdcage.v1_11.csrf.CsrfViewMiddleware'
|
||||
]
|
||||
DEFAULT_TEMPLATE_ENGINE['OPTIONS']['context_processors'] = filter(
|
||||
|
||||
@@ -44,12 +44,20 @@ CSRF cookie.
|
||||
|
||||
import logging
|
||||
|
||||
import django
|
||||
from django.conf import settings
|
||||
from django.core.exceptions import ImproperlyConfigured, MiddlewareNotUsed
|
||||
from birdcage.v1_11.csrf import CsrfViewMiddleware
|
||||
|
||||
from .helpers import is_cross_domain_request_allowed, skip_cross_domain_referer_check
|
||||
|
||||
# TODO: Remove Django 1.11 upgrade shim
|
||||
# SHIM: Remove birdcage references post-1.11 upgrade as it is only in place to help during that deployment
|
||||
if django.VERSION < (1, 9):
|
||||
from birdcage.v1_11.csrf import CsrfViewMiddleware
|
||||
else:
|
||||
from django.middleware.csrf import CsrfViewMiddleware
|
||||
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
||||
@@ -5,11 +5,18 @@ Tests for the CORS CSRF middleware
|
||||
from mock import patch, Mock
|
||||
import ddt
|
||||
|
||||
import django
|
||||
from django.test import TestCase
|
||||
from django.test.utils import override_settings
|
||||
from django.core.exceptions import MiddlewareNotUsed, ImproperlyConfigured
|
||||
from django.http import HttpResponse
|
||||
from birdcage.v1_11.csrf import CsrfViewMiddleware
|
||||
|
||||
# TODO: Remove Django 1.11 upgrade shim
|
||||
# SHIM: Remove birdcage references post-1.11 upgrade as it is only in place to help during that deployment
|
||||
if django.VERSION < (1, 9):
|
||||
from birdcage.v1_11.csrf import CsrfViewMiddleware
|
||||
else:
|
||||
from django.middleware.csrf import CsrfViewMiddleware
|
||||
|
||||
from ..middleware import CorsCSRFMiddleware, CsrfCrossDomainCookieMiddleware
|
||||
|
||||
|
||||
Reference in New Issue
Block a user