feat: improve download anonymized repository

This commit is contained in:
tdurieux
2024-05-06 11:52:32 +02:00
parent 93606a5c39
commit dcf483ea03
5 changed files with 145 additions and 40 deletions
+4 -4
View File
@@ -16,7 +16,7 @@ export default class GitHubDownload extends GitHubBase {
super(data);
}
private async _getZipUrl(): Promise<OctokitResponse<unknown, 302>> {
public async getZipUrl(): Promise<OctokitResponse<unknown, 302>> {
const oct = octokit(await this.data.getToken());
return oct.rest.repos.downloadZipballArchive({
owner: this.data.organization,
@@ -32,11 +32,11 @@ export default class GitHubDownload extends GitHubBase {
try {
let response: OctokitResponse<unknown, number>;
try {
response = await this._getZipUrl();
response = await this.getZipUrl();
} catch (error) {
span.recordException(error as Error);
throw new AnonymousError("repo_not_accessible", {
httpStatus: 404,
throw new AnonymousError("repo_not_found", {
httpStatus: (error as any).status || 404,
object: this.data,
cause: error as Error,
});
+2 -1
View File
@@ -194,7 +194,8 @@ export default class GitHubStream extends GitHubBase {
});
output.push(...this.tree2Tree(data.tree, parentPath));
} catch (error) {
if ((error as any).status == 404) {
console.log(error);
if ((error as any).status == 409 || (error as any).status == 404) {
// empty repo
data = { tree: [] };
} else {