def METHOD_NAME(self) -> str:
    scheme = self.request.url.scheme
    host = self.request.url.hostname
    port = self.request.url.port
    root = self.request.scope['root_path']
    if (scheme == 'http' and port == 80) or (scheme == 'https' and port == 443):
        port = None
    if port is not None:
        return f"{scheme}://{host}:{port}{root}"
    return f"{scheme}://{host}{root}"