You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
14 lines
516 B
14 lines
516 B
# -*- coding: utf-8 -*-
|
|
from django.utils.functional import SimpleLazyObject
|
|
|
|
|
|
def _get_full_base_url(request):
|
|
if not hasattr(request, '_cached_full_base_url'):
|
|
scheme = u'https' if request.is_secure() else u'http'
|
|
request._cached_full_base_url = u'%s://%s' % (scheme, request.get_host())
|
|
return request._cached_full_base_url
|
|
|
|
|
|
class FullBaseUrlMiddleware(object):
|
|
def process_request(self, request):
|
|
request.full_base_url = SimpleLazyObject(lambda: _get_full_base_url(request))
|
|
|