fix: fix error message when file is not found

This commit is contained in:
tdurieux
2022-10-19 10:38:44 +02:00
parent 3e2644438e
commit 8508a01c28
4 changed files with 12 additions and 5 deletions

View File

@@ -167,9 +167,8 @@ export default class AnonymizedFile {
}
if (await storage.exists(this.originalCachePath)) {
return storage.read(this.originalCachePath);
} else {
return await this.repository.source?.getFileContent(this);
}
return await this.repository.source?.getFileContent(this);
}
async anonymizedContent() {
@@ -192,8 +191,7 @@ export default class AnonymizedFile {
try {
await pipe(await this.anonymizedContent(), res);
} catch (error) {
handleError(error);
res.end();
handleError(error, res);
}
}
}

View File

@@ -78,7 +78,7 @@ export function handleError(
} else if (message && message.indexOf("not_connected") > -1) {
status = 401;
}
if (res) {
if (res && !res.headersSent) {
res.status(status).send({ error: message });
}
return;

View File

@@ -40,6 +40,8 @@ export default async function start() {
app.set("trust proxy", config.TRUST_PROXY);
app.set("etag", "strong");
app.get('/ip', (request, response) => response.send(request.ip))
// handle session and connection
app.use(connection.appSession);
app.use(passport.initialize());

View File

@@ -61,6 +61,13 @@ export default class GitHubStream extends GitHubBase implements SourceBase {
await storage.write(file.originalCachePath, content, file, this);
return stream.Readable.from(content);
} catch (error) {
if (error.status == 404) {
throw new AnonymousError("file_not_found", {
httpStatus: error.status,
cause: error,
object: file,
});
}
throw new AnonymousError("file_too_big", {
httpStatus: error.status,
cause: error,