If the port is optional, maybe the default value could be `None` instead of the empty string.