code: def add_http_basic_auth(url,
                          user=None,
                          password=None,
                          https_only=False):
      '''
      Return a string with http basic auth incorporated into it
      '''
      if user is None and password is None:
          return url
      else:
          urltuple = urlparse(url)
          if https_only and urltuple.scheme != 'https':
              raise ValueError('Basic Auth only supported for HTTPS')
          if password is None:
              netloc = '{0}@{1}'.format(
                  user,
                  urltuple.netloc
              )
              urltuple = urltuple._replace(netloc=netloc)
              return urlunparse(urltuple)
          else:
              netloc = '{0}:{1}@{2}'.format(
                  user,
                  password,
                  urltuple.netloc
              )
              urltuple = urltuple._replace(netloc=netloc)
              return urlunparse(urltuplef add_http_basic_auth(url,
                          user=None,
                          password=None,
                          https_only=False):
      '''
      Return a string with http basic auth incorporated into it
      '''
      if user is None and password is None:
          return url
      else:
          urltuple = urlparse(url)
          if https_only and urltuple.scheme != 'https':
              raise ValueError('Basic Auth only supported for HTTPS')
          if password is None:
              netloc = '{0}@{1}'.format(
                  user,
                  urltuple.netloc
              )
              urltuple = urltuple._replace(netloc=netloc)
              return urlunparse(urltuple)
          else:
              netloc = '{0}:{1}@{2}'.format(
                  user,
                  password,
                  urltuple.netloc
              )
              urltuple = urltuple._replace(netloc=netloc)
              return urlunparse(urltuple)
docs: Return a string with http basic auth incorporated into it