diff --git a/crates/shadowsocks-service/src/local/dns/client_cache.rs b/crates/shadowsocks-service/src/local/dns/client_cache.rs index 63a4097e..558fb182 100644 --- a/crates/shadowsocks-service/src/local/dns/client_cache.rs +++ b/crates/shadowsocks-service/src/local/dns/client_cache.rs @@ -50,7 +50,7 @@ impl DnsClientCache { ns: SocketAddr, msg: Message, connect_opts: &ConnectOpts, - is_udp: bool + is_udp: bool, ) -> Result { let key = match is_udp { true => DnsClientKey::UdpLocal(ns), @@ -65,7 +65,7 @@ impl DnsClientCache { svr_cfg: &ServerConfig, ns: &Address, msg: Message, - is_udp: bool + is_udp: bool, ) -> Result { let key = match is_udp { true => DnsClientKey::UdpRemote(ns.clone()), @@ -145,14 +145,14 @@ impl DnsClientCache { .await; } } - match self.get_client_or_create(&dck, async { dns_res }).await { + match self.get_client_or_create(dck, async { dns_res }).await { Ok(mut client) => match client.lookup_timeout(msg.clone(), self.timeout).await { Ok(msg) => { self.save_client(dck.clone(), client).await; return Ok(msg); } Err(err) => { - last_err = Some(From::from(err)); + last_err = Some(err); continue; } }, diff --git a/crates/shadowsocks-service/src/local/http/dispatcher.rs b/crates/shadowsocks-service/src/local/http/dispatcher.rs index f0863128..f8dbd7f8 100644 --- a/crates/shadowsocks-service/src/local/http/dispatcher.rs +++ b/crates/shadowsocks-service/src/local/http/dispatcher.rs @@ -153,17 +153,16 @@ impl HttpDispatcher { // Set keep-alive for connection with remote set_conn_keep_alive(version, self.req.headers_mut(), conn_keep_alive); - let client: HttpClientEnum; - if self.context.check_target_bypassed(&host).await { + let client = if self.context.check_target_bypassed(&host).await { trace!("bypassed {} -> {} {:?}", self.client_addr, host, self.req); - client = HttpClientEnum::Bypass(self.bypass_client); + HttpClientEnum::Bypass(self.bypass_client) } else { trace!("proxied {} -> {} {:?}", self.client_addr, host, self.req); // Keep connections for clients in ServerScore::client // client instance is kept for Keep-Alive connections let server = self.balancer.best_tcp_server(); - client = HttpClientEnum::Proxy(self.proxy_client_cache.get_connected(&server).await); + HttpClientEnum::Proxy(self.proxy_client_cache.get_connected(&server).await) }; let mut res = match client.send(self.req).await { diff --git a/crates/shadowsocks-service/src/local/http/http_client.rs b/crates/shadowsocks-service/src/local/http/http_client.rs index c953963e..ed56e6ea 100644 --- a/crates/shadowsocks-service/src/local/http/http_client.rs +++ b/crates/shadowsocks-service/src/local/http/http_client.rs @@ -14,9 +14,9 @@ pub enum HttpClientEnum { impl HttpClientEnum { pub fn send(&self, req: Request) -> ResponseFuture { - return match self { + match self { HttpClientEnum::Proxy(c) => c.request(req), HttpClientEnum::Bypass(b) => b.request(req), - }; + } } } diff --git a/src/config.rs b/src/config.rs index 9998c27f..ade784e3 100644 --- a/src/config.rs +++ b/src/config.rs @@ -193,7 +193,7 @@ impl Config { /// Logger configuration #[cfg(feature = "logging")] -#[derive(Debug, Clone)] +#[derive(Debug, Clone, Default)] pub struct LogConfig { /// Default logger log level, [0, 3] pub level: u32, @@ -203,31 +203,13 @@ pub struct LogConfig { pub config_path: Option, } -#[cfg(feature = "logging")] -impl Default for LogConfig { - fn default() -> LogConfig { - LogConfig { - level: 0, - format: LogFormatConfig::default(), - config_path: None, - } - } -} - /// Logger format configuration #[cfg(feature = "logging")] -#[derive(Debug, Clone)] +#[derive(Debug, Clone, Default)] pub struct LogFormatConfig { pub without_time: bool, } -#[cfg(feature = "logging")] -impl Default for LogFormatConfig { - fn default() -> LogFormatConfig { - LogFormatConfig { without_time: false } - } -} - /// Runtime mode (Tokio) #[derive(Debug, Clone, Copy)] pub enum RuntimeMode { diff --git a/src/service/local.rs b/src/service/local.rs index 5bc1945a..5ec8146d 100644 --- a/src/service/local.rs +++ b/src/service/local.rs @@ -32,7 +32,7 @@ use crate::{ }; /// Defines command line options -pub fn define_command_line_options<'a, 'b>(mut app: App<'a>) -> App<'a> { +pub fn define_command_line_options(mut app: App<'_>) -> App<'_> { app = app.arg( Arg::new("CONFIG") .short('c') @@ -379,7 +379,7 @@ pub fn main(matches: &ArgMatches) { }, None => ServiceConfig::default(), }; - service_config.set_options(&matches); + service_config.set_options(matches); #[cfg(feature = "logging")] match service_config.log.config_path { diff --git a/src/service/manager.rs b/src/service/manager.rs index 785be98a..49d92dfa 100644 --- a/src/service/manager.rs +++ b/src/service/manager.rs @@ -29,7 +29,7 @@ use crate::{ }; /// Defines command line options -pub fn define_command_line_options<'a>(mut app: App<'a>) -> App<'a> { +pub fn define_command_line_options(mut app: App<'_>) -> App<'_> { app = app .arg( Arg::new("CONFIG") @@ -222,7 +222,7 @@ pub fn main(matches: &ArgMatches) { }, None => ServiceConfig::default(), }; - service_config.set_options(&matches); + service_config.set_options(matches); #[cfg(feature = "logging")] match service_config.log.config_path { diff --git a/src/service/server.rs b/src/service/server.rs index 56ec5c09..5e347daf 100644 --- a/src/service/server.rs +++ b/src/service/server.rs @@ -27,7 +27,7 @@ use crate::{ }; /// Defines command line options -pub fn define_command_line_options<'a>(mut app: App<'a>) -> App<'a> { +pub fn define_command_line_options(mut app: App<'_>) -> App<'_> { app = app .arg( Arg::new("CONFIG") @@ -233,7 +233,7 @@ pub fn main(matches: &ArgMatches) { }, None => ServiceConfig::default(), }; - service_config.set_options(&matches); + service_config.set_options(matches); #[cfg(feature = "logging")] match service_config.log.config_path { diff --git a/src/validator/mod.rs b/src/validator/mod.rs index fe0b2ae1..b26084ab 100644 --- a/src/validator/mod.rs +++ b/src/validator/mod.rs @@ -45,7 +45,7 @@ validate_type!(validate_u32, u32, "should be unsigned integer"); validate_type!(validate_usize, usize, "should be unsigned integer"); pub fn validate_server_url(v: &str) -> Result<(), String> { - match ServerConfig::from_url(&v) { + match ServerConfig::from_url(v) { Ok(..) => Ok(()), Err(..) => Err("should be SIP002 (https://shadowsocks.org/en/wiki/SIP002-URI-Scheme.html) format".to_owned()), }