from django.conf import settings
from django.core.exceptions import MiddlewareNotUsed
from django.http import HttpResponseForbidden
from django.utils.translation import ugettext 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
