for BAN, the host is simply ignored, right?

for purge/refresh, this feels a bit inconsistent. should we not first check if there is already a Host header set and only do anything if not. then why do we set the Host from $this->host but not from the parsed url?