Allow callers to override :host, :port, and :scheme when generating urls