Skip to content

Commit 1cc6371

Browse files
committed
optimize code style
1 parent 5be0fd3 commit 1cc6371

File tree

3 files changed

+69
-88
lines changed

3 files changed

+69
-88
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/bin/local.rs

Lines changed: 38 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -168,58 +168,48 @@ fn main() {
168168
None => Config::new(),
169169
};
170170

171-
let mut has_provided_server_config = false;
172-
173-
if matches.value_of("SERVER_ADDR").is_some() && matches.value_of("PASSWORD").is_some() &&
174-
matches.value_of("ENCRYPT_METHOD").is_some()
175-
{
176-
let (svr_addr, password, method) = matches
177-
.value_of("SERVER_ADDR")
178-
.and_then(|svr_addr| {
179-
matches.value_of("PASSWORD").map(|pwd| (svr_addr, pwd))
180-
})
181-
.and_then(|(svr_addr, pwd)| {
182-
matches.value_of("ENCRYPT_METHOD").map(
183-
|m| (svr_addr, pwd, m),
184-
)
185-
})
186-
.unwrap();
171+
let has_provided_server_config = match (
172+
matches.value_of("SERVER_ADDR"),
173+
matches.value_of("PASSWORD"),
174+
matches.value_of("ENCRYPT_METHOD"),
175+
) {
176+
(Some(svr_addr), Some(password), Some(method)) => {
177+
let method = match method.parse() {
178+
Ok(m) => m,
179+
Err(err) => {
180+
panic!("Does not support {:?} method: {:?}", method, err);
181+
}
182+
};
187183

188-
let method = match method.parse() {
189-
Ok(m) => m,
190-
Err(err) => {
191-
panic!("Does not support {:?} method: {:?}", method, err);
192-
}
193-
};
194-
195-
let sc = ServerConfig::new(
196-
svr_addr.parse::<ServerAddr>().expect("Invalid server addr"),
197-
password.to_owned(),
198-
method,
199-
None,
200-
);
201-
202-
config.server.push(sc);
203-
has_provided_server_config = true;
204-
} else if matches.value_of("SERVER_ADDR").is_none() && matches.value_of("PASSWORD").is_none() &&
205-
matches.value_of("ENCRYPT_METHOD").is_none()
206-
{
207-
// Does not provide server config
208-
} else {
209-
panic!("`server-addr`, `method` and `password` should be provided together");
210-
}
184+
let sc = ServerConfig::new(
185+
svr_addr.parse::<ServerAddr>().expect("Invalid server addr"),
186+
password.to_owned(),
187+
method,
188+
None,
189+
);
211190

212-
let has_provided_local_config = if matches.value_of("LOCAL_ADDR").is_some() {
213-
let local_addr = matches.value_of("LOCAL_ADDR").unwrap();
191+
config.server.push(sc);
192+
true
193+
}
194+
(None, None, None) => {
195+
// Does not provide server config
196+
false
197+
}
198+
_ => {
199+
panic!("`server-addr`, `method` and `password` should be provided together");
200+
}
201+
};
214202

215-
let local_addr: SocketAddr = local_addr.parse().expect(
216-
"`local-addr` is not a valid IP address",
217-
);
203+
let has_provided_local_config = match matches.value_of("LOCAL_ADDR") {
204+
Some(local_addr) => {
205+
let local_addr: SocketAddr = local_addr.parse().expect(
206+
"`local-addr` is not a valid IP address",
207+
);
218208

219-
config.local = Some(local_addr);
220-
true
221-
} else {
222-
false
209+
config.local = Some(local_addr);
210+
true
211+
}
212+
None => false,
223213
};
224214

225215
if !has_provided_config && !(has_provided_server_config && has_provided_local_config) {

src/bin/server.rs

Lines changed: 30 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -175,46 +175,37 @@ fn main() {
175175
None => Config::new(),
176176
};
177177

178-
let mut has_provided_server_config = false;
179-
180-
if matches.value_of("SERVER_ADDR").is_some() && matches.value_of("PASSWORD").is_some() &&
181-
matches.value_of("ENCRYPT_METHOD").is_some()
182-
{
183-
let (svr_addr, password, method) = matches
184-
.value_of("SERVER_ADDR")
185-
.and_then(|svr_addr| {
186-
matches.value_of("PASSWORD").map(|pwd| (svr_addr, pwd))
187-
})
188-
.and_then(|(svr_addr, pwd)| {
189-
matches.value_of("ENCRYPT_METHOD").map(
190-
|m| (svr_addr, pwd, m),
191-
)
192-
})
193-
.unwrap();
178+
let has_provided_server_config = match (
179+
matches.value_of("SERVER_ADDR"),
180+
matches.value_of("PASSWORD"),
181+
matches.value_of("ENCRYPT_METHOD"),
182+
) {
183+
(Some(svr_addr), Some(password), Some(method)) => {
184+
let method = match method.parse() {
185+
Ok(m) => m,
186+
Err(err) => {
187+
panic!("Does not support {:?} method: {:?}", method, err);
188+
}
189+
};
194190

195-
let method = match method.parse() {
196-
Ok(m) => m,
197-
Err(err) => {
198-
panic!("Does not support {:?} method: {:?}", method, err);
199-
}
200-
};
201-
202-
let sc = ServerConfig::new(
203-
svr_addr.parse::<ServerAddr>().expect("Invalid server addr"),
204-
password.to_owned(),
205-
method,
206-
None,
207-
);
208-
209-
config.server.push(sc);
210-
has_provided_server_config = true;
211-
} else if matches.value_of("SERVER_ADDR").is_none() && matches.value_of("PASSWORD").is_none() &&
212-
matches.value_of("ENCRYPT_METHOD").is_none()
213-
{
214-
// Does not provide server config
215-
} else {
216-
panic!("`server-addr`, `method` and `password` should be provided together");
217-
}
191+
let sc = ServerConfig::new(
192+
svr_addr.parse::<ServerAddr>().expect("Invalid server addr"),
193+
password.to_owned(),
194+
method,
195+
None,
196+
);
197+
198+
config.server.push(sc);
199+
true
200+
}
201+
(None, None, None) => {
202+
// Does not provide server config
203+
false
204+
}
205+
_ => {
206+
panic!("`server-addr`, `method` and `password` should be provided together");
207+
}
208+
};
218209

219210
if !has_provided_config && !has_provided_server_config {
220211
println!("You have to specify a configuration file or pass arguments from argument list");

0 commit comments

Comments
 (0)