push host / port / protocol extraction up

Then we only need to extract host once.