'Displays a course tab page that contains a web fragment.'

@method_decorator(ensure_csrf_cookie)
@method_decorator(ensure_valid_course_key)
@method_decorator(data_sharing_consent_required)
def get(self, request, course_id, tab_type, **kwargs):

    course_key = CourseKey.from_string(course_id)
    with modulestore().bulk_operations(course_key):
        course = get_course_with_access(request.user, 'load', course_key)
        try:
            self.register_user_access_warning_messages(request, course_key)
            tab = CourseTabList.get_tab_by_type(course.tabs, tab_type)
            page_context = self.create_page_context(request, course=course, tab=tab, **kwargs)
            set_custom_metrics_for_course_key(course_key)
            return super(CourseTabView, self).get(request, course=course, page_context=page_context, **kwargs)
        except Exception as exception:
            return CourseTabView.handle_exceptions(request, course, exception)
