feat: olt ask

This commit is contained in:
2023-12-17 15:33:21 +08:00
parent 5a27b18a92
commit 43922cda4a

View File

@@ -17,6 +17,7 @@ use std::path::PathBuf;
use base64::Engine; use base64::Engine;
use clap::{arg, Parser}; use clap::{arg, Parser};
use rust_util::{debugging, failure_and_exit, information, success, util_size, warning}; use rust_util::{debugging, failure_and_exit, information, success, util_size, warning};
use rust_util::util_term::read_yes_no;
use serde_json::Value; use serde_json::Value;
#[derive(Parser, Debug)] #[derive(Parser, Debug)]
@@ -112,19 +113,21 @@ fn main() {
Err(e) => failure_and_exit!("Post file: {} response failed: {}", file_name, e), Err(e) => failure_and_exit!("Post file: {} response failed: {}", file_name, e),
Ok(text) => { Ok(text) => {
success!("Post file: {} succeed: {}", file_name, &text); success!("Post file: {} succeed: {}", file_name, &text);
let post_response: Value = serde_json::from_str(&text).unwrap(); if read_yes_no("Generate One Time Link") {
if let Some(post_response_data) = post_response.get("data") { let post_response: Value = serde_json::from_str(&text).unwrap();
if let Some(Value::String(full_link)) = post_response_data.get("fullLink") { if let Some(post_response_data) = post_response.get("data") {
let mut params = HashMap::new(); if let Some(Value::String(full_link)) = post_response_data.get("fullLink") {
params.insert("pretty", "true".to_string()); let mut params = HashMap::new();
params.insert("targetUrl", full_link.to_string()); params.insert("pretty", "true".to_string());
params.insert("aliveTimeMin", "10".to_string()); params.insert("targetUrl", full_link.to_string());
let otl_result = client.post("https://hatter.ink/onetimelink/add.json") params.insert("aliveTimeMin", "10".to_string());
.form(&params) let otl_result = client.post("https://hatter.ink/onetimelink/add.json")
.send(); .form(&params)
if let Ok(response) = otl_result { .send();
if let Ok(text) = response.text() { if let Ok(response) = otl_result {
success!("File one time link: {}", text); if let Ok(text) = response.text() {
success!("File one time link: {}", text);
}
} }
} }
} }