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

View File

@@ -16,7 +16,7 @@ fn deep_merge(a: &mut Value, b: &Value) {
pub fn use_merge(merge: Mapping, config: Mapping) -> Mapping {
let mut config = Value::from(config);
let merge = use_lowercase(merge.clone());
let merge = use_lowercase(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 {
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)) => {
exists_keys.extend(use_keys(&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)?;
// 仅处理 name 参数中的特殊字符

View File

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

View File

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