refactor: optimize error message handling and improve cloning in various functions

This commit is contained in:
Tunglies
2025-11-06 10:26:40 +08:00
parent 69a706b438
commit 651513c826
7 changed files with 12 additions and 21 deletions

View File

@@ -234,3 +234,4 @@ suspicious_operation_groupings = "deny"
string_lit_as_bytes = "deny" string_lit_as_bytes = "deny"
significant_drop_tightening = "deny" significant_drop_tightening = "deny"
significant_drop_in_scrutinee = "deny" significant_drop_in_scrutinee = "deny"
redundant_clone = "deny"

View File

@@ -244,7 +244,7 @@ async fn validate_new_profile(new_profile: &String) -> Result<(), ()> {
); );
handle::Handle::notice_message( handle::Handle::notice_message(
"config_validate::yaml_syntax_error", "config_validate::yaml_syntax_error",
error_msg.clone(), error_msg,
); );
Err(()) Err(())
} }
@@ -253,7 +253,7 @@ async fn validate_new_profile(new_profile: &String) -> Result<(), ()> {
logging!(error, Type::Cmd, "{}", error_msg); logging!(error, Type::Cmd, "{}", error_msg);
handle::Handle::notice_message( handle::Handle::notice_message(
"config_validate::yaml_parse_error", "config_validate::yaml_parse_error",
error_msg.clone(), error_msg,
); );
Err(()) Err(())
} }
@@ -262,19 +262,13 @@ async fn validate_new_profile(new_profile: &String) -> Result<(), ()> {
Ok(Err(err)) => { Ok(Err(err)) => {
let error_msg = format!("无法读取目标配置文件: {err}"); let error_msg = format!("无法读取目标配置文件: {err}");
logging!(error, Type::Cmd, "{}", error_msg); logging!(error, Type::Cmd, "{}", error_msg);
handle::Handle::notice_message( handle::Handle::notice_message("config_validate::file_read_error", error_msg);
"config_validate::file_read_error",
error_msg.clone(),
);
Err(()) Err(())
} }
Err(_) => { Err(_) => {
let error_msg = "读取配置文件超时(5秒)".to_string(); let error_msg = "读取配置文件超时(5秒)".to_string();
logging!(error, Type::Cmd, "{}", error_msg); logging!(error, Type::Cmd, "{}", error_msg);
handle::Handle::notice_message( handle::Handle::notice_message("config_validate::file_read_timeout", error_msg);
"config_validate::file_read_timeout",
error_msg.clone(),
);
Err(()) Err(())
} }
} }

View File

@@ -16,7 +16,7 @@ fn deep_merge(a: &mut Value, b: &Value) {
pub fn use_merge(merge: Mapping, config: Mapping) -> Mapping { pub fn use_merge(merge: Mapping, config: Mapping) -> Mapping {
let mut config = Value::from(config); let mut config = Value::from(config);
let merge = use_lowercase(merge.clone()); let merge = use_lowercase(merge);
deep_merge(&mut config, &Value::from(merge)); deep_merge(&mut config, &Value::from(merge));

View File

@@ -330,7 +330,7 @@ fn process_global_items(
if let ChainType::Script(script) = global_script.data { if let ChainType::Script(script) = global_script.data {
let mut logs = vec![]; let mut logs = vec![];
match use_script(script, config.to_owned(), profile_name.to_owned()) { match use_script(script, config.to_owned(), profile_name) {
Ok((res_config, res_logs)) => { Ok((res_config, res_logs)) => {
exists_keys.extend(use_keys(&res_config)); exists_keys.extend(use_keys(&res_config));
config = res_config; config = res_config;

View File

@@ -62,7 +62,7 @@ pub fn use_script(
});"#, });"#,
)); ));
let config = use_lowercase(config.clone()); let config = use_lowercase(config);
let config_str = serde_json::to_string(&config)?; let config_str = serde_json::to_string(&config)?;
// 仅处理 name 参数中的特殊字符 // 仅处理 name 参数中的特殊字符

View File

@@ -116,18 +116,15 @@ impl NetworkManager {
accept_invalid_certs: bool, accept_invalid_certs: bool,
timeout_secs: Option<u64>, timeout_secs: Option<u64>,
) -> Result<HttpClient> { ) -> Result<HttpClient> {
let proxy_uri_clone = proxy_uri.clone();
let headers_clone = default_headers.clone();
{ {
let mut builder = HttpClient::builder(); let mut builder = HttpClient::builder();
builder = match proxy_uri_clone { builder = match proxy_uri {
Some(uri) => builder.proxy(Some(uri)), Some(uri) => builder.proxy(Some(uri)),
None => builder.proxy(None), None => builder.proxy(None),
}; };
for (name, value) in headers_clone.iter() { for (name, value) in default_headers.iter() {
builder = builder.default_header(name, value); builder = builder.default_header(name, value);
} }

View File

@@ -35,7 +35,6 @@ pub(super) async fn resolve_scheme(param: &str) -> Result<()> {
.query_pairs() .query_pairs()
.find(|(key, _)| key == "name") .find(|(key, _)| key == "name")
.map(|(_, value)| value.into_owned().into()); .map(|(_, value)| value.into_owned().into());
let name = name_owned.to_owned();
let url_param = if let Some(query) = link_parsed.query() { let url_param = if let Some(query) = link_parsed.query() {
let prefix = "url="; let prefix = "url=";
@@ -48,7 +47,7 @@ pub(super) async fn resolve_scheme(param: &str) -> Result<()> {
} else { } else {
None None
}; };
(url_param, name) (url_param, name_owned)
} else { } else {
(None, None) (None, None)
}; };