Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
from .string_utils import decode_if_byte_string, ensure_leading_trailing_slash
__all__ = ['WhiteNoiseMiddleware', 'GzipManifestStaticFilesStorage']
class WhiteNoiseMiddleware(WhiteNoise):
"""
Wrap WhiteNoise to allow it to function as Django middleware, rather
than WSGI middleware
This functions as both old- and new-style middleware, so can be included in
either MIDDLEWARE or MIDDLEWARE_CLASSES.
"""
config_attrs = WhiteNoise.config_attrs + (
'root', 'use_finders', 'static_prefix')
root = None
use_finders = False
static_prefix = None
def __init__(self, get_response=None, settings=settings):
self.get_response = get_response
self.configure_from_settings(settings)
self.check_settings(settings)
# Pass None for `application`
super(WhiteNoiseMiddleware, self).__init__(None)
if self.static_root:
self.add_files(self.static_root, prefix=self.static_prefix)
if self.root:
self.add_files(self.root)
__all__ = ["WhiteNoiseMiddleware"]
class WhiteNoiseFileResponse(FileResponse):
"""
Wrap Django's FileResponse to prevent setting any default headers. For the
most part these just duplicate work already done by WhiteNoise but in some
cases (e.g. the content-disposition header introduced in Django 3.0) they
are actively harmful.
"""
def set_headers(self, *args, **kwargs):
pass
class WhiteNoiseMiddleware(WhiteNoise):
"""
Wrap WhiteNoise to allow it to function as Django middleware, rather
than WSGI middleware
This functions as both old- and new-style middleware, so can be included in
either MIDDLEWARE or MIDDLEWARE_CLASSES.
"""
config_attrs = WhiteNoise.config_attrs + ("root", "use_finders", "static_prefix")
root = None
use_finders = False
static_prefix = None
def __init__(self, get_response=None, settings=settings):
self.get_response = get_response
self.configure_from_settings(settings)
"""
def set_headers(self, *args, **kwargs):
pass
class WhiteNoiseMiddleware(WhiteNoise):
"""
Wrap WhiteNoise to allow it to function as Django middleware, rather
than WSGI middleware
This functions as both old- and new-style middleware, so can be included in
either MIDDLEWARE or MIDDLEWARE_CLASSES.
"""
config_attrs = WhiteNoise.config_attrs + ("root", "use_finders", "static_prefix")
root = None
use_finders = False
static_prefix = None
def __init__(self, get_response=None, settings=settings):
self.get_response = get_response
self.configure_from_settings(settings)
# Pass None for `application`
super(WhiteNoiseMiddleware, self).__init__(None)
if self.static_root:
self.add_files(self.static_root, prefix=self.static_prefix)
if self.root:
self.add_files(self.root)
if self.use_finders and not self.autorefresh:
self.add_files_from_finders()
from django.contrib.staticfiles import finders
from django.http import FileResponse
from django.utils.six.moves.urllib.parse import urlparse
from .base import WhiteNoise
from .static_file import StaticFile
# Import here under an alias for backwards compatibility
from .storage import (CompressedManifestStaticFilesStorage as
GzipManifestStaticFilesStorage)
from .string_utils import decode_if_byte_string, ensure_leading_trailing_slash
__all__ = ['WhiteNoiseMiddleware', 'GzipManifestStaticFilesStorage']
class WhiteNoiseMiddleware(WhiteNoise):
"""
Wrap WhiteNoise to allow it to function as Django middleware, rather
than WSGI middleware
This functions as both old- and new-style middleware, so can be included in
either MIDDLEWARE or MIDDLEWARE_CLASSES.
"""
config_attrs = WhiteNoise.config_attrs + (
'root', 'use_finders', 'static_prefix')
root = None
use_finders = False
static_prefix = None
def __init__(self, get_response=None, settings=settings):
self.get_response = get_response