Ensure we never provide url scheme without also providing host

- Host defaults to request host if none provided in route
- Scheme defaults to request scheme if none provided in route