pub async fn request_tunnel(
service_url: &str,
user_agent: &str,
) -> Result<QuickTunnel, TunnelError>Expand description
Fetch a fresh quick-tunnel handshake. Retries 5xx + network
errors with exponential backoff (1s → 2s → 4s); never retries
4xx. Business errors inside a 200 response surface as
TunnelError::ApiBusiness.