38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
"""
|
|
This file implements the Middleware support for the Open edX platform.
|
|
A microsite enables the following features:
|
|
|
|
1) Mapping of sub-domain name to a 'brand', e.g. foo-university.edx.org
|
|
2) Present a landing page with a listing of courses that are specific to the 'brand'
|
|
3) Ability to swap out some branding elements in the website
|
|
"""
|
|
|
|
from microsite_configuration import microsite
|
|
|
|
|
|
class MicrositeMiddleware(object):
|
|
"""
|
|
Middleware class which will bind configuration information regarding 'microsites' on a per request basis.
|
|
The actual configuration information is taken from Django settings information
|
|
"""
|
|
|
|
def process_request(self, request):
|
|
"""
|
|
Middleware entry point on every request processing. This will associate a request's domain name
|
|
with a 'University' and any corresponding microsite configuration information
|
|
"""
|
|
microsite.clear()
|
|
|
|
domain = request.META.get('HTTP_HOST', None)
|
|
|
|
microsite.set_by_domain(domain)
|
|
|
|
return None
|
|
|
|
def process_response(self, request, response):
|
|
"""
|
|
Middleware entry point for request completion.
|
|
"""
|
|
microsite.clear()
|
|
return response
|