from django.conf import settings from django.core.exceptions import MiddlewareNotUsed from django.http import HttpResponseForbidden from django.utils.translation import gettext as _ def readonly_middleware(get_response): if not settings.UMAP_READONLY: raise MiddlewareNotUsed def middleware(request): if request.method not in ["GET", "OPTIONS"]: return HttpResponseForbidden(_("Site is readonly for maintenance")) return get_response(request) return middleware