Commit 2579785a by bmedx

Make all uses of birdcage conditional, should fix 1.11 errors

parent 831eae62
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment