[feat] add headers

This commit is contained in:
kwaroran
2023-06-21 23:35:41 +09:00
parent 90f744f574
commit e0f88c93e3
2 changed files with 51 additions and 15 deletions

View File

@@ -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)
}