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