def websockets_override(request): # for some reason our proxy setup doesn't properly detect these things, so manually override them try: context = default(request) context['WEBSOCKET_URI'] = context['WEBSOCKET_URI'].replace(request.get_host(), settings.BASE_ADDRESS) if settings.DEFAULT_PROTOCOL == 'https': context['WEBSOCKET_URI'] = context['WEBSOCKET_URI'].replace('ws://', 'wss://') return context except Exception: # it's very unlikely this was needed, and some workflows (like scheduled reports) aren't # able to generate this, so don't worry about it. return {}