🔊 verbose error handler
This commit is contained in:
parent
678ffc83ea
commit
65157aac9c
@ -5,7 +5,7 @@ import { Authentication, CORS } from "./middlewares/";
|
|||||||
import { Config, db, initEvent } from "@fosscord/util";
|
import { Config, db, initEvent } from "@fosscord/util";
|
||||||
import { ErrorHandler } from "./middlewares/ErrorHandler";
|
import { ErrorHandler } from "./middlewares/ErrorHandler";
|
||||||
import { BodyParser } from "./middlewares/BodyParser";
|
import { BodyParser } from "./middlewares/BodyParser";
|
||||||
import { Router, Request, Response } from "express";
|
import { Router, Request, Response, NextFunction } from "express";
|
||||||
import mongoose from "mongoose";
|
import mongoose from "mongoose";
|
||||||
import path from "path";
|
import path from "path";
|
||||||
import { initRateLimits } from "./middlewares/RateLimit";
|
import { initRateLimits } from "./middlewares/RateLimit";
|
||||||
@ -69,7 +69,8 @@ export class FosscordServer extends Server {
|
|||||||
|
|
||||||
this.routes = await this.registerRoutes(path.join(__dirname, "routes", "/"));
|
this.routes = await this.registerRoutes(path.join(__dirname, "routes", "/"));
|
||||||
|
|
||||||
api.use("*", (req: Request, res: Response, next) => {
|
api.use("*", (error: any, req: Request, res: Response, next: NextFunction) => {
|
||||||
|
if (error) return next(error);
|
||||||
res.status(404).json({
|
res.status(404).json({
|
||||||
message: "404: Not Found",
|
message: "404: Not Found",
|
||||||
code: 0
|
code: 0
|
||||||
|
@ -3,6 +3,8 @@ import { HTTPError } from "lambert-server";
|
|||||||
import { FieldError } from "../util/instanceOf";
|
import { FieldError } from "../util/instanceOf";
|
||||||
|
|
||||||
export function ErrorHandler(error: Error, req: Request, res: Response, next: NextFunction) {
|
export function ErrorHandler(error: Error, req: Request, res: Response, next: NextFunction) {
|
||||||
|
if (!error) next();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let code = 400;
|
let code = 400;
|
||||||
let httpcode = code;
|
let httpcode = code;
|
||||||
@ -24,9 +26,11 @@ export function ErrorHandler(error: Error, req: Request, res: Response, next: Ne
|
|||||||
|
|
||||||
if (httpcode > 511) httpcode = 400;
|
if (httpcode > 511) httpcode = 400;
|
||||||
|
|
||||||
|
console.error(`[Error] ${code} ${req.url} ${message}`, errors || error);
|
||||||
|
|
||||||
res.status(httpcode).json({ code: code, message, errors });
|
res.status(httpcode).json({ code: code, message, errors });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error);
|
console.error(`[Internal Server Error] 500`, error);
|
||||||
return res.status(500).json({ code: 500, message: "Internal Server Error" });
|
return res.status(500).json({ code: 500, message: "Internal Server Error" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
5
bundle/package-lock.json
generated
5
bundle/package-lock.json
generated
@ -42,7 +42,6 @@
|
|||||||
"../api": {
|
"../api": {
|
||||||
"name": "@fosscord/api",
|
"name": "@fosscord/api",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"hasInstallScript": true,
|
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fosscord/util": "file:../util",
|
"@fosscord/util": "file:../util",
|
||||||
@ -99,7 +98,6 @@
|
|||||||
"../cdn": {
|
"../cdn": {
|
||||||
"name": "@fosscord/cdn",
|
"name": "@fosscord/cdn",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"hasInstallScript": true,
|
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fosscord/util": "file:../util",
|
"@fosscord/util": "file:../util",
|
||||||
@ -141,7 +139,6 @@
|
|||||||
"../gateway": {
|
"../gateway": {
|
||||||
"name": "@fosscord/gateway",
|
"name": "@fosscord/gateway",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"hasInstallScript": true,
|
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fosscord/util": "file:../util",
|
"@fosscord/util": "file:../util",
|
||||||
@ -172,7 +169,7 @@
|
|||||||
},
|
},
|
||||||
"../util": {
|
"../util": {
|
||||||
"name": "@fosscord/util",
|
"name": "@fosscord/util",
|
||||||
"version": "1.3.55",
|
"version": "1.0.0",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "GPLV3",
|
"license": "GPLV3",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -9,14 +9,15 @@ export function initStats() {
|
|||||||
|
|
||||||
setInterval(async () => {
|
setInterval(async () => {
|
||||||
const [cpuUsed, memory, network] = await Promise.all([osu.cpu.usage(), osu.mem.info(), osu.netstat.inOut()]);
|
const [cpuUsed, memory, network] = await Promise.all([osu.cpu.usage(), osu.mem.info(), osu.netstat.inOut()]);
|
||||||
|
var networkUsage = "";
|
||||||
if (typeof network === "object") {
|
if (typeof network === "object") {
|
||||||
console.log(`[Network]: in ${network.total.inputMb}mb | out ${network.total.outputMb}mb`);
|
networkUsage = `| [Network]: in ${network.total.inputMb}mb | out ${network.total.outputMb}mb`;
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(
|
console.log(
|
||||||
`[CPU] ${cpuUsed.toFixed(2)}% | [Memory] ${Math.round(
|
`[CPU] ${cpuUsed.toFixed(2)}% | [Memory] ${Math.round(
|
||||||
process.memoryUsage().rss / 1024 / 1024
|
process.memoryUsage().rss / 1024 / 1024
|
||||||
)}mb/${memory.totalMemMb.toFixed(0)}mb`
|
)}mb/${memory.totalMemMb.toFixed(0)}mb ${networkUsage}`
|
||||||
);
|
);
|
||||||
}, 1000 * 30);
|
}, 1000 * 30);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user