from django.core.urlresolvers import reverse
from django.conf import settings
from django.http import HttpResponseNotFound
from couponcn.middleware.threadinglocal import tl
import django
def _reverse(*args, **kwargs):
url = reverse(*args, **kwargs)
subdomain, path = url.split(':', 1)
protocol = tl.request.is_secure() and 'https://' or 'http://'
return '%s%s%s/%s' % (protocol, subdomain[1:], settings.BASE_DOMAIN, path)
django.core.urlresolvers.reverse = _reverse
class SubdomainMiddleware(object):
def process_request(self, request):
subdomain = request.get_host().split(settings.BASE_DOMAIN, 1)
if len(subdomain) < 2 or subdomain[0] == '':
return HttpResponseNotFound()
request.path_info = '/%s:%s' % (subdomain[0], request.path_info)
from threading import local
tl = local()
class ThreadingLocalMiddleware(object):
def process_request(self, request):
tl.request = request
Comments