@kokkoro/web
Version:
Create web serve for kokkoro.
63 lines (62 loc) • 1.53 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const app_1 = require("../app");
function parseCode(status) {
let code;
switch (status) {
case 400:
code = 40001;
break;
case 401:
code = 40002;
break;
case 403:
code = 40003;
break;
case 409:
code = 40004;
break;
default:
code = -1;
break;
}
return code;
}
async function responseHandler(ctx, next) {
try {
await next();
if (!ctx.result) {
return;
}
const { message, data } = ctx.result;
// TODO /人◕ ‿‿ ◕人\ 状态码处理
ctx.status = 200;
ctx.body = {
code: 0,
message,
data: data ?? null,
};
}
catch (error) {
let code;
let status;
let message;
if (error instanceof app_1.SourceError) {
code = parseCode(error.status);
status = error.status;
message = error.message;
}
else {
code = -1;
status = 500;
message = error.message;
console.error(error);
}
const response = {
code, message, data: null,
};
ctx.status = status;
ctx.body = response;
}
}
exports.default = responseHandler;