trying to make multi form post data and struggling
This commit is contained in:
parent
4f58b1c1ee
commit
1cc4ca8661
@ -2,11 +2,10 @@
|
||||
name = "crunk-update"
|
||||
version = "0.1.0"
|
||||
authors = ["crunk <dvanderkleij@gmail.com>"]
|
||||
edition = "2018"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
clap = { version = "4.0", features = ["derive"] }
|
||||
reqwest = { version = "0.11", features = ["json"] }
|
||||
tokio = { version = "1", features = ["full"] }
|
||||
reqwest = { version = "0.11.20", features = ["json", "blocking", "multipart"] }
|
||||
|
33
src/main.rs
33
src/main.rs
@ -1,6 +1,7 @@
|
||||
#![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)]
|
||||
@ -9,27 +10,31 @@ use clap::Parser;
|
||||
#[command(version = "1.0")]
|
||||
#[command(about = "post updates to crunk-schedulers", long_about = None)]
|
||||
struct Cli {
|
||||
#[arg(long)]
|
||||
#[arg(short, long)]
|
||||
url: String,
|
||||
#[arg(long)]
|
||||
text: String,
|
||||
#[arg(short, long, group = "input")]
|
||||
text: Option<String>,
|
||||
#[arg(short, long, group = "input")]
|
||||
file: Option<String>,
|
||||
}
|
||||
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
#[tokio::main]
|
||||
|
||||
async fn main() -> Result<(), reqwest::Error> {
|
||||
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
let args = Cli::parse();
|
||||
let url = args.url;
|
||||
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 client = reqwest::Client::new();
|
||||
let res = client.post(url).form(&[("text", text)]).send().await?;
|
||||
|
||||
eprintln!("Response: {:?} {}", res.version(), res.status());
|
||||
eprintln!("Headers: {:#?}\n", res.headers());
|
||||
|
||||
let body = res.text().await?;
|
||||
println!("{}", body);
|
||||
let res = client.post("your url").multipart(form).send()?;
|
||||
println!("{:?}", res)
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user