a CLI tool to post updates to crunk-scheduler.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.2 KiB

#![deny(warnings)]
use clap::Parser;
use reqwest::blocking::multipart;
/// Search for a pattern in a file and display the lines that contain it.
#[derive(Parser)]
#[command(name = "crunk-update")]
#[command(author = "Crunk")]
#[command(version = "1.0")]
#[command(about = "post updates to crunk-schedulers", long_about = None)]
struct Cli {
#[arg(short, long)]
url: String,
#[arg(short, long, group = "input")]
text: Option<String>,
#[arg(short, long, group = "input")]
file: Option<String>,
}
#[cfg(not(target_arch = "wasm32"))]
fn main() -> Result<(), Box<dyn std::error::Error>> {
let args = Cli::parse();
let url = args.url.as_str();
let text = args.text;
if text.is_some() {
let client = reqwest::blocking::Client::new();
let res = client.post(url).form(&[("text", text)]).send()?;
println!("{:?}", res);
}
if args.file.is_some() {
let file_name = args.file.as_deref().unwrap_or_default();
let client = reqwest::blocking::Client::new();
let form = multipart::Form::new().file("file", &file_name)?;
let res = client.post(url).multipart(form).send()?;
println!("{:?}", res)
}
Ok(())
}