code: def sanitize_url(url, hide_fields):
      '''
      Make sure no secret fields show up in logs
      '''
      if isinstance(hide_fields, list):
          url_comps = splitquery(url)
          log_url = url_comps[0]
          if len(url_comps) > 1:
              log_url += '?'
          for pair in url_comps[1:]:
              url_tmp = None
              for field in hide_fields:
                  comps_list = pair.split('&')
                  if url_tmp:
                      url_tmp = url_tmp.split('&')
                      url_tmp = _sanitize_url_components(url_tmp, field)
                  else:
                      url_tmp = _sanitize_url_components(comps_list, field)
              log_url += url_tmp
          return log_url.rstrip('&')
      else:
          return six.text_type(urlf sanitize_url(url, hide_fields):
      '''
      Make sure no secret fields show up in logs
      '''
      if isinstance(hide_fields, list):
          url_comps = splitquery(url)
          log_url = url_comps[0]
          if len(url_comps) > 1:
              log_url += '?'
          for pair in url_comps[1:]:
              url_tmp = None
              for field in hide_fields:
                  comps_list = pair.split('&')
                  if url_tmp:
                      url_tmp = url_tmp.split('&')
                      url_tmp = _sanitize_url_components(url_tmp, field)
                  else:
                      url_tmp = _sanitize_url_components(comps_list, field)
              log_url += url_tmp
          return log_url.rstrip('&')
      else:
          return six.text_type(url)
docs: Make sure no secret fields show up in logs