mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-01-29 00:35:38 +08:00
refactor: optimize error message handling and improve cloning in various functions
This commit is contained in:
@@ -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"
|
||||||
@@ -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(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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));
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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 参数中的特殊字符
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user