(&self, host: &str, default_port: u16)
| 228 | } |
| 229 | |
| 230 | async fn resolve_host(&self, host: &str, default_port: u16) -> Result<SocketAddr, ProxyError> { |
| 231 | let (host_str, port) = match host.split_once(':') { |
| 232 | Some((h, p)) => (h, p.parse::<u16>().ok()), |
| 233 | None => (host, None), |
| 234 | }; |
| 235 | let addr = (host_str, port.unwrap_or(default_port)) |
| 236 | .to_socket_addrs()? |
| 237 | .next() |
| 238 | .ok_or_else(|| ProxyError::AddressResolutionFailed(host.to_string()))?; |
| 239 | Ok(addr) |
| 240 | } |
| 241 | |
| 242 | pub fn get_domain(&self) -> Result<String, ProxyError> { |
| 243 | match self { |
no test coverage detected