feat: generate olt in 10 min

This commit is contained in:
2023-12-17 15:24:25 +08:00
parent 800100e5c2
commit 5a27b18a92

View File

@@ -16,7 +16,8 @@ use std::path::PathBuf;
use base64::Engine;
use clap::{arg, Parser};
use rust_util::{debugging, failure_and_exit, information, success, warning, util_size};
use rust_util::{debugging, failure_and_exit, information, success, util_size, warning};
use serde_json::Value;
#[derive(Parser, Debug)]
#[command(author, version, about, long_about = None, bin_name = "post.rs")]
@@ -109,7 +110,26 @@ fn main() {
Err(e) => failure_and_exit!("Post file: {} failed: {}",file_name, e),
Ok(response) => match response.text() {
Err(e) => failure_and_exit!("Post file: {} response failed: {}", file_name, e),
Ok(text) => success!("Post file: {} succeed: {}", file_name, text),
Ok(text) => {
success!("Post file: {} succeed: {}", file_name, &text);
let post_response: Value = serde_json::from_str(&text).unwrap();
if let Some(post_response_data) = post_response.get("data") {
if let Some(Value::String(full_link)) = post_response_data.get("fullLink") {
let mut params = HashMap::new();
params.insert("pretty", "true".to_string());
params.insert("targetUrl", full_link.to_string());
params.insert("aliveTimeMin", "10".to_string());
let otl_result = client.post("https://hatter.ink/onetimelink/add.json")
.form(&params)
.send();
if let Ok(response) = otl_result {
if let Ok(text) = response.text() {
success!("File one time link: {}", text);
}
}
}
}
}
}
}
}