Skip to content

Commit b5a283c

Browse files
committed
fmt
1 parent d35679c commit b5a283c

File tree

14 files changed

+74
-239
lines changed

14 files changed

+74
-239
lines changed

.rustfmt.toml

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
max_width = 120

client/src/grpc.rs

+8-14
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,7 @@ use crate::INTERVAL_MS;
1616
// TODO TLS
1717

1818
pub async fn report(args: &Args, stat_base: &mut StatRequest) -> anyhow::Result<()> {
19-
if !vec![stat_base.online4, stat_base.online6]
20-
.iter()
21-
.any(|&x| x)
22-
{
19+
if !vec![stat_base.online4, stat_base.online6].iter().any(|&x| x) {
2320
eprintln!("try get target network...");
2421
let addr = args.addr.replace("grpc://", "");
2522
let sock_addr = addr.to_socket_addrs()?.next().unwrap();
@@ -44,19 +41,16 @@ pub async fn report(args: &Args, stat_base: &mut StatRequest) -> anyhow::Result<
4441
}
4542
let token = MetadataValue::try_from(format!("{}@_@{}", auth_user, args.pass))?;
4643

47-
let channel = Channel::from_shared(args.addr.to_string())?
48-
.connect()
49-
.await?;
44+
let channel = Channel::from_shared(args.addr.to_string())?.connect().await?;
5045
let timeout_channel = Timeout::new(channel, Duration::from_millis(3000));
5146

52-
let grpc_client =
53-
ServerStatusClient::with_interceptor(timeout_channel, move |mut req: Request<()>| {
54-
req.metadata_mut().insert("authorization", token.clone());
55-
req.metadata_mut()
56-
.insert("ssr-auth", MetadataValue::try_from(ssr_auth).unwrap());
47+
let grpc_client = ServerStatusClient::with_interceptor(timeout_channel, move |mut req: Request<()>| {
48+
req.metadata_mut().insert("authorization", token.clone());
49+
req.metadata_mut()
50+
.insert("ssr-auth", MetadataValue::try_from(ssr_auth).unwrap());
5751

58-
Ok(req)
59-
});
52+
Ok(req)
53+
});
6054

6155
loop {
6256
let stat_rt = sample_all(args, stat_base);

client/src/main.rs

+10-56
Original file line numberDiff line numberDiff line change
@@ -39,30 +39,17 @@ pub static G_CONFIG: Lazy<Mutex<ClientConfig>> = Lazy::new(|| Mutex::new(ClientC
3939
#[derive(Parser, Debug, Clone)]
4040
#[clap(author, version = env!("APP_VERSION"), about, long_about = None)]
4141
pub struct Args {
42-
#[clap(
43-
short,
44-
long,
45-
value_parser,
46-
default_value = "http://127.0.0.1:8080/report"
47-
)]
42+
#[clap(short, long, value_parser, default_value = "http://127.0.0.1:8080/report")]
4843
addr: String,
4944
#[clap(short, long, value_parser, default_value = "h1", help = "username")]
5045
user: String,
5146
#[clap(short, long, value_parser, default_value = "p1", help = "password")]
5247
pass: String,
5348
#[clap(short = 'n', long, value_parser, help = "enable vnstat, default:false")]
5449
vnstat: bool,
55-
#[clap(
56-
long = "disable-tupd",
57-
value_parser,
58-
help = "disable t/u/p/d, default:false"
59-
)]
50+
#[clap(long = "disable-tupd", value_parser, help = "disable t/u/p/d, default:false")]
6051
disable_tupd: bool,
61-
#[clap(
62-
long = "disable-ping",
63-
value_parser,
64-
help = "disable ping, default:false"
65-
)]
52+
#[clap(long = "disable-ping", value_parser, help = "disable ping, default:false")]
6653
disable_ping: bool,
6754
#[clap(
6855
long = "disable-extra",
@@ -80,44 +67,18 @@ pub struct Args {
8067
ip_info: bool,
8168
#[clap(long = "json", value_parser, help = "use json protocol, default:false")]
8269
json: bool,
83-
#[clap(
84-
short = '6',
85-
value_parser,
86-
long = "ipv6",
87-
help = "ipv6 only, default:false"
88-
)]
70+
#[clap(short = '6', value_parser, long = "ipv6", help = "ipv6 only, default:false")]
8971
ipv6: bool,
9072
// for group
9173
#[clap(short, long, value_parser, default_value = "", help = "group id")]
9274
gid: String,
93-
#[clap(
94-
long = "alias",
95-
value_parser,
96-
default_value = "unknown",
97-
help = "alias for host"
98-
)]
75+
#[clap(long = "alias", value_parser, default_value = "unknown", help = "alias for host")]
9976
alias: String,
100-
#[clap(
101-
short,
102-
long,
103-
value_parser,
104-
default_value = "0",
105-
help = "weight for rank"
106-
)]
77+
#[clap(short, long, value_parser, default_value = "0", help = "weight for rank")]
10778
weight: u64,
108-
#[clap(
109-
long = "disable-notify",
110-
value_parser,
111-
help = "disable notify, default:false"
112-
)]
79+
#[clap(long = "disable-notify", value_parser, help = "disable notify, default:false")]
11380
disable_notify: bool,
114-
#[clap(
115-
short = 't',
116-
long = "type",
117-
value_parser,
118-
default_value = "",
119-
help = "host type"
120-
)]
81+
#[clap(short = 't', long = "type", value_parser, default_value = "", help = "host type")]
12182
host_type: String,
12283
#[clap(long, value_parser, default_value = "", help = "location")]
12384
location: String,
@@ -134,10 +95,7 @@ fn sample_all(args: &Args, stat_base: &StatRequest) -> StatRequest {
13495
#[cfg(all(feature = "sysinfo", not(feature = "native")))]
13596
sys_info::sample(args, &mut stat_rt);
13697

137-
stat_rt.latest_ts = SystemTime::now()
138-
.duration_since(UNIX_EPOCH)
139-
.unwrap()
140-
.as_secs();
98+
stat_rt.latest_ts = SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_secs();
14199

142100
if !args.disable_extra {
143101
if let Ok(o) = G_CONFIG.lock() {
@@ -174,11 +132,7 @@ fn http_report(args: &Args, stat_base: &mut StatRequest) -> Result<()> {
174132
let http_client = reqwest::Client::builder()
175133
.pool_max_idle_per_host(1)
176134
.connect_timeout(Duration::from_secs(5))
177-
.user_agent(format!(
178-
"{}/{}",
179-
env!("CARGO_BIN_NAME"),
180-
env!("CARGO_PKG_VERSION")
181-
))
135+
.user_agent(format!("{}/{}", env!("CARGO_BIN_NAME"), env!("CARGO_PKG_VERSION")))
182136
.build()?;
183137
loop {
184138
let stat_rt = sample_all(args, stat_base);

client/src/status.rs

+11-24
Original file line numberDiff line numberDiff line change
@@ -67,22 +67,16 @@ pub fn get_memory() -> (u64, u64, u64, u64) {
6767
for line in buf_reader.lines() {
6868
let l = line.unwrap();
6969
if let Some(caps) = MEMORY_REGEX_RE.captures(&l) {
70-
res_dict.insert(
71-
caps["key"].to_string(),
72-
caps["value"].parse::<u64>().unwrap(),
73-
);
70+
res_dict.insert(caps["key"].to_string(), caps["value"].parse::<u64>().unwrap());
7471
};
7572
}
7673

7774
let mem_total = res_dict["MemTotal"];
7875
let swap_total = res_dict["SwapTotal"];
7976
let swap_free = res_dict["SwapFree"];
8077

81-
let mem_used = mem_total
82-
- res_dict["MemFree"]
83-
- res_dict["Buffers"]
84-
- res_dict["Cached"]
85-
- res_dict["SReclaimable"];
78+
let mem_used =
79+
mem_total - res_dict["MemFree"] - res_dict["Buffers"] - res_dict["Cached"] - res_dict["SReclaimable"];
8680

8781
(mem_total, mem_used, swap_total, swap_free)
8882
}
@@ -143,7 +137,8 @@ pub fn get_vnstat_traffic() -> (u64, u64, u64, u64) {
143137
(network_in, network_out, m_network_in, m_network_out)
144138
}
145139

146-
static TRAFFIC_REGEX: &str = r#"([^\s]+):[\s]{0,}(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)"#;
140+
static TRAFFIC_REGEX: &str =
141+
r#"([^\s]+):[\s]{0,}(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)"#;
147142
lazy_static! {
148143
static ref TRAFFIC_REGEX_RE: Regex = Regex::new(TRAFFIC_REGEX).unwrap();
149144
}
@@ -228,10 +223,7 @@ pub fn start_net_speed_collect_t() {
228223
avgtx += v1[8].parse::<u64>().unwrap();
229224
}
230225

231-
let now = SystemTime::now()
232-
.duration_since(UNIX_EPOCH)
233-
.unwrap()
234-
.as_secs() as f64;
226+
let now = SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_secs() as f64;
235227

236228
if let Ok(mut t) = G_NET_SPEED.lock() {
237229
t.diff = now - t.clock;
@@ -299,11 +291,10 @@ pub fn get_network() -> (bool, bool) {
299291
if let Some(addr) = iter.next() {
300292
info!("{} => {}", probe_addr, addr);
301293

302-
let r =
303-
TcpStream::connect_timeout(&addr, Duration::from_millis(TIMEOUT_MS)).map(|s| {
304-
network[idx] = true;
305-
s.shutdown(Shutdown::Both)
306-
});
294+
let r = TcpStream::connect_timeout(&addr, Duration::from_millis(TIMEOUT_MS)).map(|s| {
295+
network[idx] = true;
296+
s.shutdown(Shutdown::Both)
297+
});
307298

308299
info!("{:?}", r);
309300
};
@@ -422,11 +413,7 @@ pub fn sample(args: &Args, stat: &mut StatRequest) {
422413
stat.hdd_total = hdd_total;
423414
stat.hdd_used = hdd_used;
424415

425-
let (t, u, p, d) = if args.disable_tupd {
426-
(0, 0, 0, 0)
427-
} else {
428-
tupd()
429-
};
416+
let (t, u, p, d) = if args.disable_tupd { (0, 0, 0, 0) } else { tupd() };
430417
stat.tcp = t;
431418
stat.udp = u;
432419
stat.process = p;

server/src/config.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,7 @@ pub fn from_str(content: &str) -> Option<Config> {
171171
for (idx, group) in o.hosts_group.iter_mut().enumerate() {
172172
group.pos = idx;
173173
group.weight = (10000 - (1 + idx) * 100) as u64;
174-
o.hosts_group_map
175-
.insert(group.gid.to_owned(), group.clone());
174+
o.hosts_group_map.insert(group.gid.to_owned(), group.clone());
176175
}
177176

178177
if o.offline_threshold < 30 {

server/src/grpc.rs

+2-9
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,7 @@ pub struct ServerStatusSrv {}
1313

1414
#[tonic::async_trait]
1515
impl ServerStatus for ServerStatusSrv {
16-
async fn report(
17-
&self,
18-
request: Request<StatRequest>,
19-
) -> Result<Response<server_status::Response>, Status> {
16+
async fn report(&self, request: Request<StatRequest>) -> Result<Response<server_status::Response>, Status> {
2017
if let Some(mgr) = G_STATS_MGR.get() {
2118
match serde_json::to_value(request.get_ref()) {
2219
Ok(v) => {
@@ -45,11 +42,7 @@ fn check_auth(req: Request<()>) -> Result<Request<()>, Status> {
4542

4643
match req.metadata().get("authorization") {
4744
Some(token) => {
48-
let tuple = token
49-
.to_str()
50-
.unwrap_or("")
51-
.split("@_@")
52-
.collect::<Vec<_>>();
45+
let tuple = token.to_str().unwrap_or("").split("@_@").collect::<Vec<_>>();
5346

5447
if tuple.len() == 2 {
5548
if let Some(cfg) = G_CONFIG.get() {

server/src/http.rs

+16-26
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,7 @@ pub async fn init_client(req: Request<Body>) -> Result<Response<Body>> {
3535
let params: HashMap<String, String> = req
3636
.uri()
3737
.query()
38-
.map(|v| {
39-
url::form_urlencoded::parse(v.as_bytes())
40-
.into_owned()
41-
.collect()
42-
})
38+
.map(|v| url::form_urlencoded::parse(v.as_bytes()).into_owned().collect())
4339
.unwrap_or_else(HashMap::new);
4440

4541
// query args
@@ -49,8 +45,7 @@ pub async fn init_client(req: Request<Body>) -> Result<Response<Body>> {
4945
let gid = params.get("gid").unwrap_or(&invalid);
5046
let alias = params.get("alias").unwrap_or(&invalid);
5147

52-
if pass.is_empty() || (uid.is_empty() && gid.is_empty()) || (uid.is_empty() && alias.is_empty())
53-
{
48+
if pass.is_empty() || (uid.is_empty() && gid.is_empty()) || (uid.is_empty() && alias.is_empty()) {
5449
return Ok(Response::builder()
5550
.status(StatusCode::BAD_REQUEST)
5651
.body(StatusCode::BAD_REQUEST.canonical_reason().unwrap().into())?);
@@ -196,13 +191,11 @@ pub fn init_jinja_tpl() -> Result<()> {
196191
let map_html: String = String::from_utf8(map_data.data.try_into()?).unwrap();
197192
jinja::add_template(KIND, "map", map_html);
198193

199-
let detail_ht_data =
200-
Asset::get("/jinja/detail_ht.jinja.html").expect("detail_ht.jinja.html not found");
194+
let detail_ht_data = Asset::get("/jinja/detail_ht.jinja.html").expect("detail_ht.jinja.html not found");
201195
let detail_ht_html: String = String::from_utf8(detail_ht_data.data.try_into()?).unwrap();
202196
jinja::add_template(KIND, "detail_ht", detail_ht_html);
203197

204-
let client_init_sh =
205-
Asset::get("/jinja/client-init.jinja.sh").expect("client-init.jinja.sh not found");
198+
let client_init_sh = Asset::get("/jinja/client-init.jinja.sh").expect("client-init.jinja.sh not found");
206199
let client_init_sh_s: String = String::from_utf8(client_init_sh.data.try_into()?).unwrap();
207200
jinja::add_template(KIND, "client-init", client_init_sh_s);
208201
Ok(())
@@ -336,20 +329,17 @@ pub async fn get_detail(req: Request<Body>) -> Result<Response<Body>> {
336329
}
337330
// table.printstd();
338331

339-
Ok(jinja::render_template(
340-
KIND,
341-
"detail",
342-
context!(pretty_content => table.to_string()),
343-
true,
332+
Ok(
333+
jinja::render_template(KIND, "detail", context!(pretty_content => table.to_string()), true)
334+
.map(|contents| {
335+
Response::builder()
336+
.header(header::CONTENT_TYPE, "text/html; charset=utf-8")
337+
.body(Body::from(contents))
338+
})?
339+
.unwrap_or(
340+
Response::builder()
341+
.status(StatusCode::INTERNAL_SERVER_ERROR)
342+
.body(INTERNAL_SERVER_ERROR.into())?,
343+
),
344344
)
345-
.map(|contents| {
346-
Response::builder()
347-
.header(header::CONTENT_TYPE, "text/html; charset=utf-8")
348-
.body(Body::from(contents))
349-
})?
350-
.unwrap_or(
351-
Response::builder()
352-
.status(StatusCode::INTERNAL_SERVER_ERROR)
353-
.body(INTERNAL_SERVER_ERROR.into())?,
354-
))
355345
}

server/src/jinja.rs

+1-6
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,7 @@ where
2323
.unwrap();
2424
}
2525

26-
pub fn render_template(
27-
kind: &'static str,
28-
tag: &'static str,
29-
ctx: Value,
30-
trim: bool,
31-
) -> Result<String> {
26+
pub fn render_template(kind: &'static str, tag: &'static str, ctx: Value, trim: bool) -> Result<String> {
3227
let name = format!("{}.{}", kind, tag);
3328
Ok(JINJA_ENV
3429
.lock()

0 commit comments

Comments
 (0)