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