mirror of
https://github.com/jazzband/django-downloadview.git
synced 2026-03-16 22:40:25 +00:00
124 lines
4.8 KiB
Python
124 lines
4.8 KiB
Python
"""Django settings around Nginx X-Accel.
|
|
|
|
.. warning::
|
|
|
|
These settings are deprecated since version 1.3. You can now provide custom
|
|
configuration via `DOWNLOADVIEW_BACKEND` setting. See :doc:`/settings`
|
|
for details.
|
|
|
|
"""
|
|
|
|
import warnings
|
|
|
|
from django.conf import settings
|
|
from django.core.exceptions import ImproperlyConfigured
|
|
|
|
# In version 1.3, former XAccelRedirectMiddleware has been renamed to
|
|
# SingleXAccelRedirectMiddleware. So tell the users.
|
|
deprecated_middleware = "django_downloadview.nginx.XAccelRedirectMiddleware"
|
|
|
|
|
|
if deprecated_middleware in settings.MIDDLEWARE:
|
|
raise ImproperlyConfigured(
|
|
"{deprecated_middleware} middleware has been renamed as of "
|
|
"django-downloadview version 1.3. You may use "
|
|
'"django_downloadview.nginx.SingleXAccelRedirectMiddleware" instead, '
|
|
'or upgrade to "django_downloadview.SmartDownloadDispatcher". '
|
|
)
|
|
|
|
|
|
deprecated_msg = (
|
|
"settings.{deprecated} is deprecated. You should combine "
|
|
'"django_downloadview.SmartDownloadDispatcher" with '
|
|
"with DOWNLOADVIEW_BACKEND and DOWNLOADVIEW_RULES instead."
|
|
)
|
|
|
|
|
|
#: Default value for X-Accel-Buffering header.
|
|
#: Also default value for
|
|
#: ``settings.NGINX_DOWNLOAD_MIDDLEWARE_WITH_BUFFERING``.
|
|
#:
|
|
#: See http://wiki.nginx.org/X-accel#X-Accel-Limit-Buffering
|
|
#:
|
|
#: Default value is None, which means "let Nginx choose", i.e. use Nginx
|
|
#: defaults or specific configuration.
|
|
#:
|
|
#: If set to ``False``, Nginx buffering is disabled.
|
|
#: If set to ``True``, Nginx buffering is enabled.
|
|
DEFAULT_WITH_BUFFERING = None
|
|
setting_name = "NGINX_DOWNLOAD_MIDDLEWARE_WITH_BUFFERING"
|
|
if hasattr(settings, setting_name):
|
|
warnings.warn(deprecated_msg.format(deprecated=setting_name), DeprecationWarning)
|
|
if not hasattr(settings, setting_name):
|
|
setattr(settings, setting_name, DEFAULT_WITH_BUFFERING)
|
|
|
|
|
|
#: Default value for X-Accel-Limit-Rate header.
|
|
#: Also default value for ``settings.NGINX_DOWNLOAD_MIDDLEWARE_LIMIT_RATE``.
|
|
#:
|
|
#: See http://wiki.nginx.org/X-accel#X-Accel-Limit-Rate
|
|
#:
|
|
#: Default value is None, which means "let Nginx choose", i.e. use Nginx
|
|
#: defaults or specific configuration.
|
|
#:
|
|
#: If set to ``False``, Nginx limit rate is disabled.
|
|
#: Else, it indicates the limit rate in bytes.
|
|
DEFAULT_LIMIT_RATE = None
|
|
setting_name = "NGINX_DOWNLOAD_MIDDLEWARE_LIMIT_RATE"
|
|
if hasattr(settings, setting_name):
|
|
warnings.warn(deprecated_msg.format(deprecated=setting_name), DeprecationWarning)
|
|
if not hasattr(settings, setting_name):
|
|
setattr(settings, setting_name, DEFAULT_LIMIT_RATE)
|
|
|
|
|
|
#: Default value for X-Accel-Limit-Expires header.
|
|
#: Also default value for ``settings.NGINX_DOWNLOAD_MIDDLEWARE_EXPIRES``.
|
|
#:
|
|
#: See http://wiki.nginx.org/X-accel#X-Accel-Limit-Expires
|
|
#:
|
|
#: Default value is None, which means "let Nginx choose", i.e. use Nginx
|
|
#: defaults or specific configuration.
|
|
#:
|
|
#: If set to ``False``, Nginx buffering is disabled.
|
|
#: Else, it indicates the expiration delay, in seconds.
|
|
DEFAULT_EXPIRES = None
|
|
setting_name = "NGINX_DOWNLOAD_MIDDLEWARE_EXPIRES"
|
|
if hasattr(settings, setting_name):
|
|
warnings.warn(deprecated_msg.format(deprecated=setting_name), DeprecationWarning)
|
|
if not hasattr(settings, setting_name):
|
|
setattr(settings, setting_name, DEFAULT_EXPIRES)
|
|
|
|
|
|
#: Default value for settings.NGINX_DOWNLOAD_MIDDLEWARE_SOURCE_DIR.
|
|
DEFAULT_SOURCE_DIR = settings.MEDIA_ROOT
|
|
setting_name = "NGINX_DOWNLOAD_MIDDLEWARE_MEDIA_ROOT"
|
|
if hasattr(settings, setting_name):
|
|
warnings.warn(deprecated_msg.format(deprecated=setting_name), DeprecationWarning)
|
|
DEFAULT_SOURCE_DIR = settings.NGINX_DOWNLOAD_MIDDLEWARE_MEDIA_ROOT
|
|
setting_name = "NGINX_DOWNLOAD_MIDDLEWARE_SOURCE_DIR"
|
|
if hasattr(settings, setting_name):
|
|
warnings.warn(deprecated_msg.format(deprecated=setting_name), DeprecationWarning)
|
|
if not hasattr(settings, setting_name):
|
|
setattr(settings, setting_name, DEFAULT_SOURCE_DIR)
|
|
|
|
|
|
#: Default value for settings.NGINX_DOWNLOAD_MIDDLEWARE_SOURCE_URL.
|
|
DEFAULT_SOURCE_URL = settings.MEDIA_URL
|
|
setting_name = "NGINX_DOWNLOAD_MIDDLEWARE_SOURCE_URL"
|
|
if hasattr(settings, setting_name):
|
|
warnings.warn(deprecated_msg.format(deprecated=setting_name), DeprecationWarning)
|
|
if not hasattr(settings, setting_name):
|
|
setattr(settings, setting_name, DEFAULT_SOURCE_URL)
|
|
|
|
|
|
#: Default value for settings.NGINX_DOWNLOAD_MIDDLEWARE_DESTINATION_URL.
|
|
DEFAULT_DESTINATION_URL = None
|
|
setting_name = "NGINX_DOWNLOAD_MIDDLEWARE_MEDIA_URL"
|
|
if hasattr(settings, setting_name):
|
|
warnings.warn(deprecated_msg.format(deprecated=setting_name), DeprecationWarning)
|
|
DEFAULT_SOURCE_DIR = settings.NGINX_DOWNLOAD_MIDDLEWARE_MEDIA_URL
|
|
setting_name = "NGINX_DOWNLOAD_MIDDLEWARE_DESTINATION_URL"
|
|
if hasattr(settings, setting_name):
|
|
warnings.warn(deprecated_msg.format(deprecated=setting_name), DeprecationWarning)
|
|
if not hasattr(settings, setting_name):
|
|
setattr(settings, setting_name, DEFAULT_DESTINATION_URL)
|