[feat] add headers
This commit is contained in:
@@ -11,6 +11,8 @@ use serde_json::Value;
|
||||
use reqwest::header::{HeaderMap, HeaderName, HeaderValue};
|
||||
use base64::{engine::general_purpose, Engine as _};
|
||||
use std::time::Duration;
|
||||
use serde_json::json;
|
||||
use std::collections::HashMap;
|
||||
|
||||
|
||||
#[tauri::command]
|
||||
@@ -61,13 +63,15 @@ async fn native_request(url: String, body: String, header: String, method:String
|
||||
|
||||
match response {
|
||||
Ok(resp) => {
|
||||
let headers = resp.headers();
|
||||
let header_json = header_map_to_json(headers);
|
||||
let bytes = match resp.bytes().await {
|
||||
Ok(b) => b,
|
||||
Err(e) => return format!(r#"{{"success":false,"body":"{}"}}"#, e.to_string()),
|
||||
};
|
||||
let encoded = general_purpose::STANDARD.encode(&bytes);
|
||||
|
||||
format!(r#"{{"success":true,"body":"{}"}}"#, encoded)
|
||||
format!(r#"{{"success":true,"body":"{}","headers":{}}}"#, encoded, header_json)
|
||||
}
|
||||
Err(e) => format!(r#"{{"success":false,"body":"{}"}}"#, e.to_string()),
|
||||
}
|
||||
@@ -79,3 +83,12 @@ fn main() {
|
||||
.run(tauri::generate_context!())
|
||||
.expect("error while running tauri application");
|
||||
}
|
||||
|
||||
|
||||
fn header_map_to_json(header_map: &HeaderMap) -> serde_json::Value {
|
||||
let mut map = HashMap::new();
|
||||
for (key, value) in header_map {
|
||||
map.insert(key.as_str().to_string(), value.to_str().unwrap().to_string());
|
||||
}
|
||||
json!(map)
|
||||
}
|
||||
Reference in New Issue
Block a user