Delete old do_upload_release
This commit is contained in:
53
src/main.rs
53
src/main.rs
@@ -88,56 +88,3 @@ async fn main() -> Result<(), gt_tools::Error> {
|
||||
fn reqwest_to_gttool(err: reqwest::Error) -> gt_tools::Error {
|
||||
gt_tools::Error::WrappedReqwestErr(err)
|
||||
}
|
||||
|
||||
async fn do_upload_release(
|
||||
client: &reqwest::Client,
|
||||
gitea_url: &str,
|
||||
repo: &str,
|
||||
release_id: usize,
|
||||
files: Vec<String>,
|
||||
) -> Result<(), Error> {
|
||||
let token = env::var("RELEASE_KEY_GITEA").expect(
|
||||
"You must set the RELEASE_KEY_GITEA environment variable so the Gitea API can be used.",
|
||||
);
|
||||
let request_url = format!(
|
||||
"{gitea_url}{front}{repo}{back}/{id}/assets",
|
||||
front = API_RELEASE_FRONT,
|
||||
back = API_RELEASE_BACK,
|
||||
id = release_id
|
||||
);
|
||||
// Setup a "partial request". I'll need to loop over the files, so I'll
|
||||
// clone this a bunch of times for each one
|
||||
let partial_request = client
|
||||
.post(request_url)
|
||||
.header(USER_AGENT, "gt-tools-test-agent")
|
||||
.header(ACCEPT, "application/json")
|
||||
.header("Authorization", format!("token {}", token));
|
||||
|
||||
// Ensure all files exists before starting the uploads
|
||||
for file in &files {
|
||||
assert!(fs::exists(file)
|
||||
.expect(&format!("Can't check existence of {file}"))
|
||||
);
|
||||
}
|
||||
|
||||
for file in files {
|
||||
if let Some(request) = partial_request.try_clone() {
|
||||
println!("Uploading file {}", &file);
|
||||
let data = reqwest::multipart::Part::stream(fs::read(&file).unwrap())
|
||||
.file_name("attachment")
|
||||
.mime_str("text/plain")?;
|
||||
|
||||
let form= reqwest::multipart::Form::new()
|
||||
.part("attachment", data);
|
||||
|
||||
let request = request
|
||||
.multipart(form)
|
||||
.query(&[("name", file.split("/").last())])
|
||||
.send()
|
||||
.await?;
|
||||
} else {
|
||||
panic!("Failed to clone the RequestBuilder during file upload loop.");
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user