Merge pull request 'fix archive download methods' (#33) from zipball-url into main
Reviewed-on: https://codeberg.org/Cyborus/forgejo-api/pulls/33
This commit is contained in:
commit
cb192d8eef
|
@ -207,35 +207,29 @@ impl Forgejo {
|
|||
.await
|
||||
}
|
||||
|
||||
pub async fn download_release_zip(
|
||||
pub async fn download_zip_archive(
|
||||
&self,
|
||||
owner: &str,
|
||||
repo: &str,
|
||||
release: u64,
|
||||
target: &str,
|
||||
) -> Result<Option<bytes::Bytes>, ForgejoError> {
|
||||
let release = self.get_release(owner, repo, release).await;
|
||||
let release = match release {
|
||||
Ok(Some(release)) => release,
|
||||
Ok(None) => return Ok(None),
|
||||
Err(e) => return Err(e),
|
||||
};
|
||||
let request = self.client.get(release.zipball_url).build()?;
|
||||
let request = self
|
||||
.client
|
||||
.get(format!("repos/{owner}/{repo}/archive/{target}.zip"))
|
||||
.build()?;
|
||||
self.execute_opt_raw(request).await
|
||||
}
|
||||
|
||||
pub async fn download_release_tarball(
|
||||
pub async fn download_tarball_archive(
|
||||
&self,
|
||||
owner: &str,
|
||||
repo: &str,
|
||||
release: u64,
|
||||
target: &str,
|
||||
) -> Result<Option<bytes::Bytes>, ForgejoError> {
|
||||
let release = self.get_release(owner, repo, release).await;
|
||||
let release = match release {
|
||||
Ok(Some(release)) => release,
|
||||
Ok(None) => return Ok(None),
|
||||
Err(e) => return Err(e),
|
||||
};
|
||||
let request = self.client.get(release.tarball_url).build()?;
|
||||
let request = self
|
||||
.client
|
||||
.get(format!("repos/{owner}/{repo}/archive/{target}.tar.gz"))
|
||||
.build()?;
|
||||
self.execute_opt_raw(request).await
|
||||
}
|
||||
|
||||
|
|
|
@ -243,6 +243,18 @@ async fn repo(api: &forgejo_api::Forgejo) -> eyre::Result<()> {
|
|||
== Some(b"This is a file!"),
|
||||
"couldn't download attachment"
|
||||
);
|
||||
ensure!(
|
||||
api.download_zip_archive("TestingAdmin", "test", "v1.0")
|
||||
.await?
|
||||
.is_some(),
|
||||
"couldn't download zip archive"
|
||||
);
|
||||
ensure!(
|
||||
api.download_tarball_archive("TestingAdmin", "test", "v1.0")
|
||||
.await?
|
||||
.is_some(),
|
||||
"couldn't download tape archive"
|
||||
);
|
||||
|
||||
api.delete_release_attachment("TestingAdmin", "test", release.id, attachment.id)
|
||||
.await
|
||||
|
|
Loading…
Reference in a new issue