use std::{fs, path::PathBuf}; use async_curl::CurlActor; use curl_http_client::*; use http::{Method, Request}; #[tokio::main(flavor = "current_thread")] async fn main() -> Result<(), Box> { let file_to_be_uploaded = PathBuf::from(""); let file_size = fs::metadata(file_to_be_uploaded.as_path()).unwrap().len() as usize; let actor = CurlActor::new(); let collector = Collector::File(FileInfo::path(file_to_be_uploaded)); let request = Request::builder() .uri("") .method(Method::PUT) .body(None) .unwrap(); let response = HttpClient::new(collector) .upload_file_size(FileSize::from(file_size)) .unwrap() .request(request) .unwrap() .nonblocking(actor) .perform() .await .unwrap(); println!("Response: {:?}", response); Ok(()) }