Source code for tradeexecutor.utils.url

"""URL helpers."""
from urllib.parse import urlparse


[docs]def redact_url_password(url: str) -> str: """Remove password from the URL. Designed to sanitize PSQL connection URLs in logs. :param url: URL as a string :return: URL where password is replaced with ??? """ # https://stackoverflow.com/a/46905953/315168 parsed = urlparse(url) if parsed.port: replaced = parsed._replace(netloc="{}:{}@{}:{}".format(parsed.username, "???", parsed.hostname, parsed.port)) return replaced.geturl() # 'https://user:[email protected]/path?key=value#hash else: replaced = parsed._replace(netloc="{}:{}@{}".format(parsed.username, "???", parsed.hostname)) return replaced.geturl()
[docs]def get_url_domain(url: str) -> str: """Redact URL so that only domain is displayed. Some services e.g. infura use path as an API key. """ parsed = urlparse(url) return parsed.hostname