#[derive(Debug, thiserror::Error)]
pub enum ProxyError {
#[error("failed to bind proxy listener: {0}")]
Bind(#[source] std::io::Error),
#[error("failed to accept connection: {0}")]
Accept(#[source] std::io::Error),
#[error("failed to connect to upstream {host}:{port}: {source}")]
UpstreamConnect {
host: String,
port: u16,
source: std::io::Error,
},
}