"""WhiteNoise subclass that also serves MEDIA_ROOT under MEDIA_URL.

WhiteNoise's official position is that it's intended for static files. For a
bootstrap deployment behind a single WSGI process this is acceptable; revisit
when traffic warrants Apache/nginx serving uploads directly.
"""

from django.conf import settings
from whitenoise.middleware import WhiteNoiseMiddleware


class WhiteNoiseWithMedia(WhiteNoiseMiddleware):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        if settings.MEDIA_ROOT and settings.MEDIA_URL:
            self.add_files(settings.MEDIA_ROOT, prefix=settings.MEDIA_URL)
