@eggjs/onerror 4.0.0-beta.19 → 4.0.0-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/agent.d.ts CHANGED
@@ -1,10 +1,6 @@
1
- import { Agent, ILifecycleBoot } from "egg";
2
-
3
- //#region src/agent.d.ts
4
- declare class Boot implements ILifecycleBoot {
5
- private agent;
6
- constructor(agent: Agent);
7
- didLoad(): Promise<void>;
1
+ import type { ILifecycleBoot, Agent } from 'egg';
2
+ export default class Boot implements ILifecycleBoot {
3
+ private agent;
4
+ constructor(agent: Agent);
5
+ didLoad(): Promise<void>;
8
6
  }
9
- //#endregion
10
- export { Boot as default };
package/dist/agent.js CHANGED
@@ -1,15 +1,13 @@
1
- //#region src/agent.ts
2
- var Boot = class {
3
- agent;
4
- constructor(agent) {
5
- this.agent = agent;
6
- }
7
- async didLoad() {
8
- this.agent.on("error", (err) => {
9
- this.agent.coreLogger.error(err);
10
- });
11
- }
12
- };
13
-
14
- //#endregion
15
- export { Boot as default };
1
+ export default class Boot {
2
+ agent;
3
+ constructor(agent) {
4
+ this.agent = agent;
5
+ }
6
+ async didLoad() {
7
+ // should watch error event
8
+ this.agent.on('error', err => {
9
+ this.agent.coreLogger.error(err);
10
+ });
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE9BQU8sT0FBTyxJQUFJO0lBQ2YsS0FBSyxDQUFRO0lBRXJCLFlBQVksS0FBWTtRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCwyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiJ9
package/dist/app.d.ts CHANGED
@@ -1,16 +1,12 @@
1
- import { OnerrorError } from "koa-onerror";
2
- import { Application, ILifecycleBoot } from "egg";
3
-
4
- //#region src/app.d.ts
5
- interface OnerrorErrorWithCode extends OnerrorError {
6
- code?: string;
7
- type?: string;
8
- errors?: any[];
1
+ import { type OnerrorError } from 'koa-onerror';
2
+ import type { ILifecycleBoot, Application } from 'egg';
3
+ export interface OnerrorErrorWithCode extends OnerrorError {
4
+ code?: string;
5
+ type?: string;
6
+ errors?: any[];
9
7
  }
10
- declare class Boot implements ILifecycleBoot {
11
- private app;
12
- constructor(app: Application);
13
- didLoad(): Promise<void>;
8
+ export default class Boot implements ILifecycleBoot {
9
+ private app;
10
+ constructor(app: Application);
11
+ didLoad(): Promise<void>;
14
12
  }
15
- //#endregion
16
- export { OnerrorErrorWithCode, Boot as default };
package/dist/app.js CHANGED
@@ -1,111 +1,141 @@
1
- import { accepts, detectErrorMessage, detectStatus, isProd } from "./lib/utils.js";
1
+ import http from 'node:http';
2
+ import fs from 'node:fs';
3
+ import { onerror } from 'koa-onerror';
2
4
  import { ErrorView } from "./lib/error_view.js";
3
- import http from "node:http";
4
- import fs from "node:fs";
5
- import { onerror } from "koa-onerror";
6
-
7
- //#region src/app.ts
8
- var Boot = class {
9
- app;
10
- constructor(app) {
11
- this.app = app;
12
- }
13
- async didLoad() {
14
- const config = this.app.config.onerror;
15
- const viewTemplate = fs.readFileSync(config.templatePath, "utf8");
16
- const app = this.app;
17
- app.on("error", (err, ctx) => {
18
- if (!ctx) ctx = app.currentContext || app.createAnonymousContext();
19
- if (config.appErrorFilter && !config.appErrorFilter(err, ctx)) return;
20
- if (detectStatus(err) >= 500) {
21
- try {
22
- ctx.logger.error(err);
23
- } catch (ex) {
24
- app.logger.error(err);
25
- app.logger.error(ex);
26
- }
27
- return;
28
- }
29
- try {
30
- ctx.logger.warn(err);
31
- } catch (ex) {
32
- app.logger.warn(err);
33
- app.logger.error(ex);
34
- }
35
- });
36
- const errorOptions = {
37
- accepts() {
38
- return (config.accepts || accepts)(this);
39
- },
40
- html(err, ctx) {
41
- const status = detectStatus(err);
42
- const errorPageUrl = typeof config.errorPageUrl === "function" ? config.errorPageUrl(err, ctx) : config.errorPageUrl;
43
- ctx.realStatus = status;
44
- if (isProd(app)) {
45
- if (status >= 500) {
46
- if (errorPageUrl) {
47
- const statusQuery = (errorPageUrl.indexOf("?") > 0 ? "&" : "?") + `real_status=${status}`;
48
- return ctx.redirect(errorPageUrl + statusQuery);
49
- }
50
- ctx.status = 500;
51
- ctx.body = `<h2>Internal Server Error, real status: ${status}</h2>`;
52
- return;
53
- }
54
- ctx.status = status;
55
- ctx.body = `<h2>${status} ${http.STATUS_CODES[status]}</h2>`;
56
- return;
57
- }
58
- if (app.config.env === "unittest") {
59
- ctx.status = status;
60
- ctx.body = `${err.name}: ${err.message}\n${err.stack}`;
61
- return;
62
- }
63
- ctx.body = new ErrorView(ctx, err, viewTemplate).toHTML();
64
- },
65
- json(err, ctx) {
66
- const status = detectStatus(err);
67
- let errorJson = {};
68
- ctx.status = status;
69
- const code = err.code ?? err.type;
70
- const message = detectErrorMessage(ctx, err);
71
- if (isProd(app)) if (status >= 500) errorJson = {
72
- code,
73
- message: http.STATUS_CODES[status]
74
- };
75
- else errorJson = {
76
- code,
77
- message,
78
- errors: err.errors
79
- };
80
- else {
81
- errorJson = {
82
- code,
83
- message,
84
- errors: err.errors
85
- };
86
- if (status >= 500) {
87
- errorJson.stack = err.stack;
88
- errorJson.name = err.name;
89
- for (const key in err) if (!errorJson[key]) errorJson[key] = err[key];
90
- }
91
- }
92
- ctx.body = errorJson;
93
- },
94
- js(err, ctx) {
95
- errorOptions.json.call(ctx, err, ctx);
96
- if (typeof ctx.createJsonpBody === "function") ctx.createJsonpBody(ctx.body);
97
- }
98
- };
99
- for (const type of [
100
- "all",
101
- "html",
102
- "json",
103
- "text",
104
- "js"
105
- ]) if (config[type]) Reflect.set(errorOptions, type, config[type]);
106
- onerror(app, errorOptions);
107
- }
108
- };
109
-
110
- //#endregion
111
- export { Boot as default };
5
+ import { isProd, detectStatus, detectErrorMessage, accepts } from "./lib/utils.js";
6
+ export default class Boot {
7
+ app;
8
+ constructor(app) {
9
+ this.app = app;
10
+ }
11
+ async didLoad() {
12
+ // logging error
13
+ const config = this.app.config.onerror;
14
+ const viewTemplate = fs.readFileSync(config.templatePath, 'utf8');
15
+ const app = this.app;
16
+ app.on('error', (err, ctx) => {
17
+ if (!ctx) {
18
+ ctx = app.currentContext || app.createAnonymousContext();
19
+ }
20
+ if (config.appErrorFilter && !config.appErrorFilter(err, ctx))
21
+ return;
22
+ const status = detectStatus(err);
23
+ // 5xx
24
+ if (status >= 500) {
25
+ try {
26
+ ctx.logger.error(err);
27
+ }
28
+ catch (ex) {
29
+ app.logger.error(err);
30
+ app.logger.error(ex);
31
+ }
32
+ return;
33
+ }
34
+ // 4xx
35
+ try {
36
+ ctx.logger.warn(err);
37
+ }
38
+ catch (ex) {
39
+ app.logger.warn(err);
40
+ app.logger.error(ex);
41
+ }
42
+ });
43
+ const errorOptions = {
44
+ // support customize accepts function
45
+ accepts() {
46
+ const fn = config.accepts || accepts;
47
+ return fn(this);
48
+ },
49
+ html(err, ctx) {
50
+ const status = detectStatus(err);
51
+ const errorPageUrl = typeof config.errorPageUrl === 'function' ? config.errorPageUrl(err, ctx) : config.errorPageUrl;
52
+ // keep the real response status
53
+ ctx.realStatus = status;
54
+ // don't respond any error message in production env
55
+ if (isProd(app)) {
56
+ // 5xx
57
+ if (status >= 500) {
58
+ if (errorPageUrl) {
59
+ const statusQuery = (errorPageUrl.indexOf('?') > 0 ? '&' : '?') + `real_status=${status}`;
60
+ return ctx.redirect(errorPageUrl + statusQuery);
61
+ }
62
+ ctx.status = 500;
63
+ ctx.body = `<h2>Internal Server Error, real status: ${status}</h2>`;
64
+ return;
65
+ }
66
+ // 4xx
67
+ ctx.status = status;
68
+ ctx.body = `<h2>${status} ${http.STATUS_CODES[status]}</h2>`;
69
+ return;
70
+ }
71
+ // show simple error format for unittest
72
+ if (app.config.env === 'unittest') {
73
+ ctx.status = status;
74
+ ctx.body = `${err.name}: ${err.message}\n${err.stack}`;
75
+ return;
76
+ }
77
+ const errorView = new ErrorView(ctx, err, viewTemplate);
78
+ ctx.body = errorView.toHTML();
79
+ },
80
+ json(err, ctx) {
81
+ const status = detectStatus(err);
82
+ let errorJson = {};
83
+ ctx.status = status;
84
+ const code = err.code ?? err.type;
85
+ const message = detectErrorMessage(ctx, err);
86
+ if (isProd(app)) {
87
+ // 5xx server side error
88
+ if (status >= 500) {
89
+ errorJson = {
90
+ code,
91
+ // don't respond any error message in production env
92
+ message: http.STATUS_CODES[status],
93
+ };
94
+ }
95
+ else {
96
+ // 4xx client side error
97
+ // addition `errors`
98
+ errorJson = {
99
+ code,
100
+ message,
101
+ errors: err.errors,
102
+ };
103
+ }
104
+ }
105
+ else {
106
+ errorJson = {
107
+ code,
108
+ message,
109
+ errors: err.errors,
110
+ };
111
+ if (status >= 500) {
112
+ // provide detail error stack in local env
113
+ errorJson.stack = err.stack;
114
+ errorJson.name = err.name;
115
+ for (const key in err) {
116
+ if (!errorJson[key]) {
117
+ errorJson[key] = err[key];
118
+ }
119
+ }
120
+ }
121
+ }
122
+ ctx.body = errorJson;
123
+ },
124
+ js(err, ctx) {
125
+ errorOptions.json.call(ctx, err, ctx);
126
+ if (typeof ctx.createJsonpBody === 'function') {
127
+ ctx.createJsonpBody(ctx.body);
128
+ }
129
+ },
130
+ };
131
+ // support customize error response
132
+ const keys = ['all', 'html', 'json', 'text', 'js'];
133
+ for (const type of keys) {
134
+ if (config[type]) {
135
+ Reflect.set(errorOptions, type, config[type]);
136
+ }
137
+ }
138
+ onerror(app, errorOptions);
139
+ }
140
+ }
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXpCLE9BQU8sRUFBRSxPQUFPLEVBQTBDLE1BQU0sYUFBYSxDQUFDO0FBRzlFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVNuRixNQUFNLENBQUMsT0FBTyxPQUFPLElBQUk7SUFDZixHQUFHLENBQWM7SUFDekIsWUFBWSxHQUFnQjtRQUMxQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCxnQkFBZ0I7UUFDaEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3ZDLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQ3JCLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDVCxHQUFHLEdBQUcsR0FBRyxDQUFDLGNBQWMsSUFBSSxHQUFHLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUMzRCxDQUFDO1lBQ0QsSUFBSSxNQUFNLENBQUMsY0FBYyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDO2dCQUFFLE9BQU87WUFFdEUs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
@@ -1,30 +1,27 @@
1
- import { OnerrorError, OnerrorOptions } from "koa-onerror";
2
- import { Context } from "egg";
3
-
4
- //#region src/config/config.default.d.ts
5
- interface OnerrorConfig extends OnerrorOptions {
6
- /**
7
- * 5xx error will redirect to ${errorPageUrl}
8
- * won't redirect in local env
9
- *
10
- * Default: `''`
11
- */
12
- errorPageUrl: string | ((err: OnerrorError, ctx: Context) => string);
13
- /**
14
- * will execute `appErrorFilter` when emit an error in `app`
15
- * If `appErrorFilter` return false, egg-onerror won't log this error.
16
- * You can logging in `appErrorFilter` and return false to override the default error logging.
17
- *
18
- * Default: `undefined`
19
- */
20
- appErrorFilter?: (err: OnerrorError, ctx: Context) => boolean;
21
- /**
22
- * default template path
23
- */
24
- templatePath: string;
1
+ import type { Context } from 'egg';
2
+ import type { OnerrorError, OnerrorOptions } from 'koa-onerror';
3
+ export interface OnerrorConfig extends OnerrorOptions {
4
+ /**
5
+ * 5xx error will redirect to ${errorPageUrl}
6
+ * won't redirect in local env
7
+ *
8
+ * Default: `''`
9
+ */
10
+ errorPageUrl: string | ((err: OnerrorError, ctx: Context) => string);
11
+ /**
12
+ * will execute `appErrorFilter` when emit an error in `app`
13
+ * If `appErrorFilter` return false, egg-onerror won't log this error.
14
+ * You can logging in `appErrorFilter` and return false to override the default error logging.
15
+ *
16
+ * Default: `undefined`
17
+ */
18
+ appErrorFilter?: (err: OnerrorError, ctx: Context) => boolean;
19
+ /**
20
+ * default template path
21
+ */
22
+ templatePath: string;
25
23
  }
26
24
  declare const _default: {
27
- onerror: OnerrorConfig;
25
+ onerror: OnerrorConfig;
28
26
  };
29
- //#endregion
30
- export { OnerrorConfig, _default as default };
27
+ export default _default;
@@ -1,11 +1,9 @@
1
- import path from "node:path";
2
-
3
- //#region src/config/config.default.ts
4
- var config_default_default = { onerror: {
5
- errorPageUrl: "",
6
- appErrorFilter: void 0,
7
- templatePath: path.join(import.meta.dirname, "../lib/onerror_page.mustache.html")
8
- } };
9
-
10
- //#endregion
11
- export { config_default_default as default };
1
+ import path from 'node:path';
2
+ export default {
3
+ onerror: {
4
+ errorPageUrl: '',
5
+ appErrorFilter: undefined,
6
+ templatePath: path.join(import.meta.dirname, '../lib/onerror_page.mustache.html'),
7
+ },
8
+ };
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQTJCN0IsZUFBZTtJQUNiLE9BQU8sRUFBRTtRQUNQLFlBQVksRUFBRSxFQUFFO1FBQ2hCLGNBQWMsRUFBRSxTQUFTO1FBQ3pCLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLG1DQUFtQyxDQUFDO0tBQ2pFO0NBQ25CLENBQUMifQ==
package/dist/index.d.ts CHANGED
@@ -1 +1 @@
1
- export { };
1
+ import './types.ts';
package/dist/index.js CHANGED
@@ -1 +1,2 @@
1
- export { };
1
+ import "./types.js";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxZQUFZLENBQUMifQ==