feat: generate olt in 10 min
This commit is contained in:
@@ -16,7 +16,8 @@ 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, warning, util_size};
|
use rust_util::{debugging, failure_and_exit, information, success, util_size, warning};
|
||||||
|
use serde_json::Value;
|
||||||
|
|
||||||
#[derive(Parser, Debug)]
|
#[derive(Parser, Debug)]
|
||||||
#[command(author, version, about, long_about = None, bin_name = "post.rs")]
|
#[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),
|
Err(e) => failure_and_exit!("Post file: {} failed: {}",file_name, e),
|
||||||
Ok(response) => match response.text() {
|
Ok(response) => match response.text() {
|
||||||
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) => 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(¶ms)
|
||||||
|
.send();
|
||||||
|
if let Ok(response) = otl_result {
|
||||||
|
if let Ok(text) = response.text() {
|
||||||
|
success!("File one time link: {}", text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user