1 changed files with 6 additions and 9 deletions
@ -12,7 +12,7 @@ pub struct Args { |
|||||
/// Proxy URL in the form proto://[username[:password]@]host:port,
|
/// Proxy URL in the form proto://[username[:password]@]host:port,
|
||||
/// where proto is one of socks4, socks5, http.
|
/// where proto is one of socks4, socks5, http.
|
||||
/// Username and password are encoded in percent encoding. For example:
|
/// Username and password are encoded in percent encoding. For example:
|
||||
/// socks5://myname:[email protected]:1080
|
/// socks5://myname:pass%40[email protected]:1080
|
||||
#[arg(short, long, value_parser = ArgProxy::from_url, value_name = "URL")] |
#[arg(short, long, value_parser = ArgProxy::from_url, value_name = "URL")] |
||||
pub proxy: ArgProxy, |
pub proxy: ArgProxy, |
||||
|
|
||||
@ -333,15 +333,12 @@ impl ArgProxy { |
|||||
Some(UserKey::new(username, password)) |
Some(UserKey::new(username, password)) |
||||
}; |
}; |
||||
|
|
||||
let scheme = url.scheme(); |
|
||||
|
|
||||
let proxy_type = match url.scheme().to_ascii_lowercase().as_str() { |
let proxy_type = match url.scheme().to_ascii_lowercase().as_str() { |
||||
"socks4" => Some(ProxyType::Socks4), |
"socks4" => Ok(ProxyType::Socks4), |
||||
"socks5" => Some(ProxyType::Socks5), |
"socks5" => Ok(ProxyType::Socks5), |
||||
"http" => Some(ProxyType::Http), |
"http" => Ok(ProxyType::Http), |
||||
_ => None, |
scheme => Err(Error::from(&format!("`{scheme}` is an invalid proxy type"))), |
||||
} |
}?; |
||||
.ok_or(Error::from(&format!("`{scheme}` is an invalid proxy type")))?; |
|
||||
|
|
||||
Ok(ArgProxy { |
Ok(ArgProxy { |
||||
proxy_type, |
proxy_type, |
||||
|
|||||
Loading…
Reference in new issue