edgee_api_client/
upload.rs

1use std::path::Path;
2
3use anyhow::Result;
4
5use super::Client;
6
7impl Client {
8    pub async fn upload_file(&self, path: &Path) -> Result<String> {
9        let presigned_url = self.get_upload_presigned_url().send().await?;
10        let upload_url = &presigned_url.upload_url;
11
12        let content = std::fs::read(path)?;
13
14        let client = reqwest::Client::new();
15        let res = client.put(upload_url).body(content).send().await?;
16        if !res.status().is_success() {
17            anyhow::bail!("Could not upload file");
18        }
19
20        Ok(upload_url.clone())
21    }
22}