瀏覽代碼

feat: pus_clash_profile support `secret` field

GyDi 3 年之前
父節點
當前提交
48f1b27d93
共有 1 個文件被更改,包括 9 次插入2 次删除
  1. 9 2
      src-tauri/src/utils/clash.rs

+ 9 - 2
src-tauri/src/utils/clash.rs

@@ -98,12 +98,19 @@ pub async fn put_clash_profile(payload: &ClashInfoPayload) -> Result<(), String>
   }
   fs::copy(file_path, temp_path.clone()).unwrap();
 
-  let server = payload.controller.clone().unwrap().server.unwrap();
-  let server = format!("http://{}/configs", server);
+  let ctrl = payload.controller.clone().unwrap();
+  let server = format!("http://{}/configs", ctrl.server.unwrap());
 
   let mut headers = HeaderMap::new();
   headers.insert("Content-Type", "application/json".parse().unwrap());
 
+  if let Some(secret) = ctrl.secret {
+    headers.insert(
+      "Authorization",
+      format!("Bearer {}", secret).parse().unwrap(),
+    );
+  }
+
   let mut data = HashMap::new();
   data.insert("path", temp_path.as_os_str().to_str().unwrap());