UNPKG

@kokkoro/web

Version:

Create web serve for kokkoro.

63 lines (62 loc) 1.53 kB
"use strict"; 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;