From f2c5a064aa230b7b39134191fe0d359a39b87ee5 Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Thu, 23 Aug 2012 11:49:23 -0400 Subject: [PATCH] Pull the http or https from the forwarded proto for the xqueue callback url --- lms/djangoapps/courseware/module_render.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lms/djangoapps/courseware/module_render.py b/lms/djangoapps/courseware/module_render.py index 51fc5f46c3..da9828fb12 100644 --- a/lms/djangoapps/courseware/module_render.py +++ b/lms/djangoapps/courseware/module_render.py @@ -199,7 +199,10 @@ def _get_module(user, request, location, student_module_cache, course_id, positi ) # Fully qualified callback URL for external queueing system - xqueue_callback_url = request.build_absolute_uri('/')[:-1] # Trailing slash provided by reverse + xqueue_callback_url = '{proto}://{host}'.format( + host=request.get_host(), + proto=request.META.get('HTTP_X_FORWARDED_PROTO', 'https' if request.is_secure() else 'http') + ) xqueue_callback_url += reverse('xqueue_callback', kwargs=dict(course_id=course_id, userid=str(user.id),