docs: def get_url(request):
      """
      Since we might be hosted behind a proxy, we need to check the
      X-Forwarded-Proto, X-Forwarded-Protocol, or X-Forwarded-SSL headers
      to find out what protocol was used to access us.
      """
      protocol = request.headers.get('X-Forwarded-Proto') or request.headers.get('X-Forwarded-Protocol')
      if protocol is None and request.headers.get('X-Forwarded-Ssl') == 'on':
          protocol = 'https'
      if protocol is None:
          return request.url
      url = list(urlparse(request.url))
      url[0] = protocol
      return urlunparse(url)