From a393b8b1224667242580b74949374b45fcfcffb3 Mon Sep 17 00:00:00 2001 From: GyDi <segydi@foxmail.com> Date: Sat, 12 Mar 2022 21:35:20 +0800 Subject: [PATCH] fix: parse external-controller --- src-tauri/src/core/clash.rs | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src-tauri/src/core/clash.rs b/src-tauri/src/core/clash.rs index 0091c85..4eae910 100644 --- a/src-tauri/src/core/clash.rs +++ b/src-tauri/src/core/clash.rs @@ -95,7 +95,18 @@ impl Clash { let server = match clash_config.get(&key_server) { Some(value) => match value { - Value::String(val_str) => Some(val_str.clone()), + Value::String(val_str) => { + // `external-controller` could be + // "127.0.0.1:9090" or ":9090" + // Todo: maybe it could support single port + let server = val_str.clone(); + let server = match server.starts_with(":") { + true => format!("127.0.0.1{server}"), + false => server, + }; + + Some(server) + } _ => None, }, _ => None, @@ -258,14 +269,8 @@ impl Clash { config::save_yaml(temp_path.clone(), &config, Some("# Clash Verge Temp File"))?; tauri::async_runtime::spawn(async move { - // `external-controller` could be - // "127.0.0.1:9090" or ":9090" - // Todo: maybe it could support single port let server = info.server.unwrap(); - let server = match server.starts_with(":") { - true => format!("http://127.0.0.1{server}/configs"), - false => format!("http://{server}/configs"), - }; + let server = format!("http://{server}/configs"); let mut headers = HeaderMap::new(); headers.insert("Content-Type", "application/json".parse().unwrap()); -- GitLab