mirror of
https://github.com/tdurieux/anonymous_github.git
synced 2026-02-12 18:32:44 +00:00
chore: improve error logging
This commit is contained in:
@@ -17,11 +17,17 @@ export async function connect() {
|
||||
}
|
||||
|
||||
export async function getRepository(repoId: string) {
|
||||
if (!repoId) {
|
||||
throw new AnonymousError("repo_not_found", {
|
||||
object: repoId,
|
||||
httpStatus: 404,
|
||||
});
|
||||
}
|
||||
const data = await AnonymizedRepositoryModel.findOne({ repoId });
|
||||
if (!data)
|
||||
throw new AnonymousError("repo_not_found", {
|
||||
object: repoId,
|
||||
httpStatus: 400,
|
||||
httpStatus: 404,
|
||||
});
|
||||
return new Repository(data);
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ router.use(
|
||||
isOwnerOrAdmin([], user);
|
||||
next();
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
@@ -62,7 +62,7 @@ router.get("/", async (req: express.Request, res: express.Response) => {
|
||||
);
|
||||
res.json(conferences.map((conf) => conf.toJSON()));
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -206,7 +206,7 @@ router.post(
|
||||
res
|
||||
);
|
||||
}
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -241,7 +241,7 @@ router.get(
|
||||
})
|
||||
}
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -264,7 +264,7 @@ router.delete(
|
||||
await conference.remove();
|
||||
res.send("ok");
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
@@ -37,7 +37,7 @@ router.get(
|
||||
res.header('Cache-Control', 'max-age=300');
|
||||
await f.send(res);
|
||||
} catch (error) {
|
||||
return handleError(error, res);
|
||||
return handleError(error, res, req);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
@@ -78,7 +78,7 @@ router.post("/claim", async (req: express.Request, res: express.Response) => {
|
||||
);
|
||||
return res.send("Ok");
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -102,7 +102,7 @@ router.post(
|
||||
await repo.updateIfNeeded({ force: true });
|
||||
res.json({ status: repo.status });
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -126,7 +126,7 @@ router.delete(
|
||||
await removeQueue.add(repo.repoId, repo, { jobId: repo.repoId });
|
||||
return res.json({ status: repo.status });
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -143,7 +143,7 @@ router.get(
|
||||
});
|
||||
res.json(repo.toJSON());
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -165,7 +165,7 @@ router.get(
|
||||
})
|
||||
);
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -195,7 +195,7 @@ router.get(
|
||||
})
|
||||
);
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -210,7 +210,7 @@ router.get("/:repoId/", async (req: express.Request, res: express.Response) => {
|
||||
isOwnerOrAdmin([repo.owner.id], user);
|
||||
res.json((await db.getRepository(req.params.repoId)).toJSON());
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -364,7 +364,7 @@ router.post(
|
||||
res.json({ status: repo.status });
|
||||
await downloadQueue.add(repo.repoId, repo, { jobId: repo.repoId });
|
||||
} catch (error) {
|
||||
return handleError(error, res);
|
||||
return handleError(error, res, req);
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -444,10 +444,11 @@ router.post("/", async (req: express.Request, res: express.Response) => {
|
||||
cause: error,
|
||||
object: repoUpdate,
|
||||
}),
|
||||
res
|
||||
res,
|
||||
req
|
||||
);
|
||||
}
|
||||
return handleError(error, res);
|
||||
return handleError(error, res, req);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ router.get(
|
||||
res.header("Cache-Control", "max-age=21600");
|
||||
await pipeline(repo.zip(), res);
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -52,7 +52,7 @@ router.get(
|
||||
|
||||
res.json(await repo.anonymizedFiles({ includeSha: false }));
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -131,7 +131,7 @@ router.get(
|
||||
download,
|
||||
});
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
@@ -28,7 +28,7 @@ export async function getRepo(
|
||||
}
|
||||
return repo;
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -41,15 +41,16 @@ export function isOwnerOrAdmin(authorizedUsers: string[], user: User) {
|
||||
}
|
||||
}
|
||||
|
||||
function printError(error: any) {
|
||||
function printError(error: any, req?: express.Request) {
|
||||
io.notifyError(error, error.value);
|
||||
if (error instanceof AnonymousError) {
|
||||
console.log(error);
|
||||
console.error(
|
||||
"[ERROR]",
|
||||
error.toString(),
|
||||
error.stack.split("\n")[1].trim()
|
||||
);
|
||||
let message = `[ERROR] ${error.toString()} ${error.stack
|
||||
.split("\n")[1]
|
||||
.trim()}`;
|
||||
if (req) {
|
||||
message += ` ${req.originalUrl}`;
|
||||
}
|
||||
console.error(message);
|
||||
} else if (error instanceof Error) {
|
||||
console.error(error);
|
||||
} else {
|
||||
@@ -57,8 +58,12 @@ function printError(error: any) {
|
||||
}
|
||||
}
|
||||
|
||||
export function handleError(error: any, res: express.Response) {
|
||||
printError(error);
|
||||
export function handleError(
|
||||
error: any,
|
||||
res: express.Response,
|
||||
req?: express.Request
|
||||
) {
|
||||
printError(error, req);
|
||||
let message = error;
|
||||
if (error instanceof Error) {
|
||||
message = error.message;
|
||||
|
||||
@@ -13,7 +13,7 @@ router.get("/logout", async (req: express.Request, res: express.Response) => {
|
||||
req.logout((error) => console.error(error));
|
||||
res.redirect("/");
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -26,7 +26,7 @@ router.get("/", async (req: express.Request, res: express.Response) => {
|
||||
isAdmin: user.isAdmin,
|
||||
});
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -54,7 +54,7 @@ router.get("/quota", async (req: express.Request, res: express.Response) => {
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -64,7 +64,7 @@ router.get("/default", async (req: express.Request, res: express.Response) => {
|
||||
|
||||
res.json(user.default);
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -78,7 +78,7 @@ router.post("/default", async (req: express.Request, res: express.Response) => {
|
||||
await user.model.save();
|
||||
res.send("ok");
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -93,7 +93,7 @@ router.get(
|
||||
})
|
||||
);
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -115,7 +115,7 @@ router.get(
|
||||
})
|
||||
);
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
@@ -50,7 +50,7 @@ async function webView(req: express.Request, res: express.Response) {
|
||||
}
|
||||
f.send(res);
|
||||
} catch (error) {
|
||||
handleError(error, res);
|
||||
handleError(error, res, req);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user