django-downloadview/django_downloadview/nginx/settings.py
2024-08-05 10:53:19 +02:00

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)