@eggjs/onerror 4.0.0-beta.20 → 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 +5 -9
- package/dist/agent.js +13 -15
- package/dist/app.d.ts +10 -14
- package/dist/app.js +141 -111
- package/dist/config/config.default.d.ts +27 -2
- package/dist/config/config.default.js +9 -11
- package/dist/index.d.ts +1 -2
- package/dist/index.js +2 -3
- package/dist/lib/error_view.d.ts +149 -153
- package/dist/lib/error_view.js +241 -4
- package/dist/lib/utils.d.ts +6 -10
- package/dist/lib/utils.js +29 -3
- package/dist/types.d.ts +6 -2
- package/dist/types.js +2 -3
- package/package.json +4 -4
- package/dist/config.default-BeF-r3l_.d.ts +0 -30
- package/dist/error_view-mAkjBkEW.js +0 -224
- package/dist/types-DOaNcV87.d.ts +0 -8
- package/dist/types-DQoXDiso.js +0 -1
- package/dist/utils-S1o8_vNA.js +0 -21
package/dist/lib/error_view.d.ts
CHANGED
|
@@ -1,158 +1,154 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { Context } from
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
line: string;
|
|
9
|
-
post: string[];
|
|
1
|
+
import { type StackFrame } from 'stack-trace';
|
|
2
|
+
import type { OnerrorError } from 'koa-onerror';
|
|
3
|
+
import type { Context } from 'egg';
|
|
4
|
+
export interface FrameSource {
|
|
5
|
+
pre: string[];
|
|
6
|
+
line: string;
|
|
7
|
+
post: string[];
|
|
10
8
|
}
|
|
11
|
-
interface Frame extends StackFrame {
|
|
12
|
-
|
|
9
|
+
export interface Frame extends StackFrame {
|
|
10
|
+
context?: FrameSource;
|
|
13
11
|
}
|
|
14
|
-
declare class ErrorView {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
} | {
|
|
83
|
-
start: number;
|
|
84
|
-
pre: string;
|
|
85
|
-
line: string;
|
|
86
|
-
post: string;
|
|
87
|
-
};
|
|
88
|
-
/**
|
|
89
|
-
* get frame classes, let view identify the frame
|
|
90
|
-
*
|
|
91
|
-
* @param {any} frame - current frame
|
|
92
|
-
* @param {any} index - current index
|
|
93
|
-
*/
|
|
94
|
-
getFrameClasses(frame: Frame, index: number): string;
|
|
95
|
-
/**
|
|
96
|
-
* serialize frame and return meaningful data
|
|
97
|
-
*
|
|
98
|
-
* @param {Object} frame - current frame
|
|
99
|
-
*/
|
|
100
|
-
serializeFrame(frame: Frame): {
|
|
101
|
-
extname: string;
|
|
102
|
-
file: string;
|
|
103
|
-
method: string;
|
|
104
|
-
line: number;
|
|
105
|
-
column: number;
|
|
106
|
-
context: {
|
|
107
|
-
start?: undefined;
|
|
108
|
-
pre?: undefined;
|
|
109
|
-
line?: undefined;
|
|
110
|
-
post?: undefined;
|
|
12
|
+
export declare class ErrorView {
|
|
13
|
+
ctx: Context;
|
|
14
|
+
error: OnerrorError;
|
|
15
|
+
request: Context['request'];
|
|
16
|
+
app: Context['app'];
|
|
17
|
+
assets: Map<string, string>;
|
|
18
|
+
viewTemplate: string;
|
|
19
|
+
codeContext: number;
|
|
20
|
+
_filterHeaders: string[];
|
|
21
|
+
constructor(ctx: Context, error: OnerrorError, template: string);
|
|
22
|
+
/**
|
|
23
|
+
* get html error page
|
|
24
|
+
*
|
|
25
|
+
* @return {String} html page
|
|
26
|
+
*/
|
|
27
|
+
toHTML(): string;
|
|
28
|
+
/**
|
|
29
|
+
* compile view
|
|
30
|
+
*
|
|
31
|
+
* @param {String} tpl - template
|
|
32
|
+
* @param {Object} locals - data used by template
|
|
33
|
+
*/
|
|
34
|
+
compileView(tpl: string, locals: Record<string, unknown>): string;
|
|
35
|
+
/**
|
|
36
|
+
* check if the frame is node native file.
|
|
37
|
+
*
|
|
38
|
+
* @param {Frame} frame - current frame
|
|
39
|
+
*/
|
|
40
|
+
isNode(frame: Frame): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* check if the frame is app modules.
|
|
43
|
+
*
|
|
44
|
+
* @param {Object} frame - current frame
|
|
45
|
+
*/
|
|
46
|
+
isApp(frame: Frame): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* cache file asserts
|
|
49
|
+
*
|
|
50
|
+
* @param {String} key - assert key
|
|
51
|
+
* @param {String} value - assert content
|
|
52
|
+
*/
|
|
53
|
+
setAssets(key: string, value: string): void;
|
|
54
|
+
/**
|
|
55
|
+
* get cache file asserts
|
|
56
|
+
*
|
|
57
|
+
* @param {String} key - assert key
|
|
58
|
+
*/
|
|
59
|
+
getAssets(key: string): string | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* get frame source
|
|
62
|
+
*
|
|
63
|
+
* @param {Object} frame - current frame
|
|
64
|
+
*/
|
|
65
|
+
getFrameSource(frame: StackFrame): FrameSource;
|
|
66
|
+
/**
|
|
67
|
+
* parse error and return frame stack
|
|
68
|
+
*/
|
|
69
|
+
parseError(): Frame[];
|
|
70
|
+
/**
|
|
71
|
+
* get stack context
|
|
72
|
+
*
|
|
73
|
+
* @param {Object} frame - current frame
|
|
74
|
+
*/
|
|
75
|
+
getContext(frame: Frame): {
|
|
76
|
+
start?: undefined;
|
|
77
|
+
pre?: undefined;
|
|
78
|
+
line?: undefined;
|
|
79
|
+
post?: undefined;
|
|
111
80
|
} | {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
81
|
+
start: number;
|
|
82
|
+
pre: string;
|
|
83
|
+
line: string;
|
|
84
|
+
post: string;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* get frame classes, let view identify the frame
|
|
88
|
+
*
|
|
89
|
+
* @param {any} frame - current frame
|
|
90
|
+
* @param {any} index - current index
|
|
91
|
+
*/
|
|
92
|
+
getFrameClasses(frame: Frame, index: number): string;
|
|
93
|
+
/**
|
|
94
|
+
* serialize frame and return meaningful data
|
|
95
|
+
*
|
|
96
|
+
* @param {Object} frame - current frame
|
|
97
|
+
*/
|
|
98
|
+
serializeFrame(frame: Frame): {
|
|
99
|
+
extname: string;
|
|
100
|
+
file: string;
|
|
101
|
+
method: string;
|
|
102
|
+
line: number;
|
|
103
|
+
column: number;
|
|
104
|
+
context: {
|
|
105
|
+
start?: undefined;
|
|
106
|
+
pre?: undefined;
|
|
107
|
+
line?: undefined;
|
|
108
|
+
post?: undefined;
|
|
109
|
+
} | {
|
|
110
|
+
start: number;
|
|
111
|
+
pre: string;
|
|
112
|
+
line: string;
|
|
113
|
+
post: string;
|
|
114
|
+
};
|
|
115
|
+
classes: string;
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* serialize base data
|
|
119
|
+
*
|
|
120
|
+
* @param {Object} stack - frame stack
|
|
121
|
+
* @param {Function} frameFormatter - frame formatter function
|
|
122
|
+
*/
|
|
123
|
+
serializeData(stack: Frame[], frameFormatter: (frame: Frame, index: number) => any): {
|
|
124
|
+
code: any;
|
|
125
|
+
message: string;
|
|
126
|
+
name: string;
|
|
127
|
+
status: number;
|
|
128
|
+
frames: any[];
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* serialize request object
|
|
132
|
+
*/
|
|
133
|
+
serializeRequest(): {
|
|
134
|
+
url: string;
|
|
135
|
+
httpVersion: string;
|
|
136
|
+
method: string;
|
|
137
|
+
connection: string | undefined;
|
|
138
|
+
headers: {
|
|
139
|
+
key: string;
|
|
140
|
+
value: string | string[] | undefined;
|
|
141
|
+
}[];
|
|
142
|
+
cookies: {
|
|
143
|
+
key: string;
|
|
144
|
+
value: string | undefined;
|
|
145
|
+
}[];
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* serialize app info object
|
|
149
|
+
*/
|
|
150
|
+
serializeAppInfo(): {
|
|
151
|
+
baseDir: string;
|
|
152
|
+
config: string;
|
|
116
153
|
};
|
|
117
|
-
classes: string;
|
|
118
|
-
};
|
|
119
|
-
/**
|
|
120
|
-
* serialize base data
|
|
121
|
-
*
|
|
122
|
-
* @param {Object} stack - frame stack
|
|
123
|
-
* @param {Function} frameFormatter - frame formatter function
|
|
124
|
-
*/
|
|
125
|
-
serializeData(stack: Frame[], frameFormatter: (frame: Frame, index: number) => any): {
|
|
126
|
-
code: any;
|
|
127
|
-
message: string;
|
|
128
|
-
name: string;
|
|
129
|
-
status: number;
|
|
130
|
-
frames: any[];
|
|
131
|
-
};
|
|
132
|
-
/**
|
|
133
|
-
* serialize request object
|
|
134
|
-
*/
|
|
135
|
-
serializeRequest(): {
|
|
136
|
-
url: string;
|
|
137
|
-
httpVersion: string;
|
|
138
|
-
method: string;
|
|
139
|
-
connection: string | undefined;
|
|
140
|
-
headers: {
|
|
141
|
-
key: string;
|
|
142
|
-
value: string | string[] | undefined;
|
|
143
|
-
}[];
|
|
144
|
-
cookies: {
|
|
145
|
-
key: string;
|
|
146
|
-
value: string | undefined;
|
|
147
|
-
}[];
|
|
148
|
-
};
|
|
149
|
-
/**
|
|
150
|
-
* serialize app info object
|
|
151
|
-
*/
|
|
152
|
-
serializeAppInfo(): {
|
|
153
|
-
baseDir: string;
|
|
154
|
-
config: string;
|
|
155
|
-
};
|
|
156
154
|
}
|
|
157
|
-
//#endregion
|
|
158
|
-
export { ErrorView, Frame, FrameSource };
|
package/dist/lib/error_view.js
CHANGED
|
@@ -1,4 +1,241 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
// modify from https://github.com/poppinss/youch/blob/develop/src/Youch/index.js
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import util from 'node:util';
|
|
5
|
+
import { parse } from 'cookie';
|
|
6
|
+
import Mustache from 'mustache';
|
|
7
|
+
import stackTrace, {} from 'stack-trace';
|
|
8
|
+
import { detectErrorMessage } from "./utils.js";
|
|
9
|
+
const startingSlashRegex = /\\|\//;
|
|
10
|
+
export class ErrorView {
|
|
11
|
+
ctx;
|
|
12
|
+
error;
|
|
13
|
+
request;
|
|
14
|
+
app;
|
|
15
|
+
assets;
|
|
16
|
+
viewTemplate;
|
|
17
|
+
codeContext = 5;
|
|
18
|
+
_filterHeaders = ['cookie', 'connection'];
|
|
19
|
+
constructor(ctx, error, template) {
|
|
20
|
+
this.ctx = ctx;
|
|
21
|
+
this.error = error;
|
|
22
|
+
this.request = ctx.request;
|
|
23
|
+
this.app = ctx.app;
|
|
24
|
+
this.assets = new Map();
|
|
25
|
+
this.viewTemplate = template;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* get html error page
|
|
29
|
+
*
|
|
30
|
+
* @return {String} html page
|
|
31
|
+
*/
|
|
32
|
+
toHTML() {
|
|
33
|
+
const stack = this.parseError();
|
|
34
|
+
const data = this.serializeData(stack, (frame, index) => {
|
|
35
|
+
const serializedFrame = this.serializeFrame(frame);
|
|
36
|
+
serializedFrame.classes = this.getFrameClasses(frame, index);
|
|
37
|
+
return serializedFrame;
|
|
38
|
+
});
|
|
39
|
+
return this.compileView(this.viewTemplate, {
|
|
40
|
+
...data,
|
|
41
|
+
appInfo: this.serializeAppInfo(),
|
|
42
|
+
request: this.serializeRequest(),
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* compile view
|
|
47
|
+
*
|
|
48
|
+
* @param {String} tpl - template
|
|
49
|
+
* @param {Object} locals - data used by template
|
|
50
|
+
*/
|
|
51
|
+
compileView(tpl, locals) {
|
|
52
|
+
return Mustache.render(tpl, locals);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* check if the frame is node native file.
|
|
56
|
+
*
|
|
57
|
+
* @param {Frame} frame - current frame
|
|
58
|
+
*/
|
|
59
|
+
isNode(frame) {
|
|
60
|
+
if (frame.isNative()) {
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
const filename = frame.getFileName() || '';
|
|
64
|
+
return !path.isAbsolute(filename) && filename[0] !== '.';
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* check if the frame is app modules.
|
|
68
|
+
*
|
|
69
|
+
* @param {Object} frame - current frame
|
|
70
|
+
*/
|
|
71
|
+
isApp(frame) {
|
|
72
|
+
if (this.isNode(frame)) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
const filename = frame.getFileName() || '';
|
|
76
|
+
return !filename.includes('node_modules' + path.sep);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* cache file asserts
|
|
80
|
+
*
|
|
81
|
+
* @param {String} key - assert key
|
|
82
|
+
* @param {String} value - assert content
|
|
83
|
+
*/
|
|
84
|
+
setAssets(key, value) {
|
|
85
|
+
this.assets.set(key, value);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* get cache file asserts
|
|
89
|
+
*
|
|
90
|
+
* @param {String} key - assert key
|
|
91
|
+
*/
|
|
92
|
+
getAssets(key) {
|
|
93
|
+
return this.assets.get(key);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* get frame source
|
|
97
|
+
*
|
|
98
|
+
* @param {Object} frame - current frame
|
|
99
|
+
*/
|
|
100
|
+
getFrameSource(frame) {
|
|
101
|
+
const filename = frame.getFileName();
|
|
102
|
+
const lineNumber = frame.getLineNumber();
|
|
103
|
+
let contents = this.getAssets(filename);
|
|
104
|
+
if (!contents) {
|
|
105
|
+
contents = fs.existsSync(filename) ? fs.readFileSync(filename, 'utf8') : '';
|
|
106
|
+
this.setAssets(filename, contents);
|
|
107
|
+
}
|
|
108
|
+
const lines = contents.split(/\r?\n/);
|
|
109
|
+
return {
|
|
110
|
+
pre: lines.slice(Math.max(0, lineNumber - (this.codeContext + 1)), lineNumber - 1),
|
|
111
|
+
line: lines[lineNumber - 1],
|
|
112
|
+
post: lines.slice(lineNumber, lineNumber + this.codeContext),
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* parse error and return frame stack
|
|
117
|
+
*/
|
|
118
|
+
parseError() {
|
|
119
|
+
const stack = stackTrace.parse(this.error);
|
|
120
|
+
return stack.map((frame) => {
|
|
121
|
+
if (!this.isNode(frame)) {
|
|
122
|
+
frame.context = this.getFrameSource(frame);
|
|
123
|
+
}
|
|
124
|
+
return frame;
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* get stack context
|
|
129
|
+
*
|
|
130
|
+
* @param {Object} frame - current frame
|
|
131
|
+
*/
|
|
132
|
+
getContext(frame) {
|
|
133
|
+
if (!frame.context) {
|
|
134
|
+
return {};
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
start: frame.getLineNumber() - (frame.context.pre || []).length,
|
|
138
|
+
pre: frame.context.pre.join('\n'),
|
|
139
|
+
line: frame.context.line,
|
|
140
|
+
post: frame.context.post.join('\n'),
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* get frame classes, let view identify the frame
|
|
145
|
+
*
|
|
146
|
+
* @param {any} frame - current frame
|
|
147
|
+
* @param {any} index - current index
|
|
148
|
+
*/
|
|
149
|
+
getFrameClasses(frame, index) {
|
|
150
|
+
const classes = [];
|
|
151
|
+
if (index === 0) {
|
|
152
|
+
classes.push('active');
|
|
153
|
+
}
|
|
154
|
+
if (!this.isApp(frame)) {
|
|
155
|
+
classes.push('native-frame');
|
|
156
|
+
}
|
|
157
|
+
return classes.join(' ');
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* serialize frame and return meaningful data
|
|
161
|
+
*
|
|
162
|
+
* @param {Object} frame - current frame
|
|
163
|
+
*/
|
|
164
|
+
serializeFrame(frame) {
|
|
165
|
+
const filename = frame.getFileName();
|
|
166
|
+
const relativeFileName = filename.includes(process.cwd())
|
|
167
|
+
? filename.replace(process.cwd(), '').replace(startingSlashRegex, '')
|
|
168
|
+
: filename;
|
|
169
|
+
const extname = path.extname(filename).replace('.', '');
|
|
170
|
+
return {
|
|
171
|
+
extname,
|
|
172
|
+
file: relativeFileName,
|
|
173
|
+
method: frame.getFunctionName(),
|
|
174
|
+
line: frame.getLineNumber(),
|
|
175
|
+
column: frame.getColumnNumber(),
|
|
176
|
+
context: this.getContext(frame),
|
|
177
|
+
classes: '',
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* serialize base data
|
|
182
|
+
*
|
|
183
|
+
* @param {Object} stack - frame stack
|
|
184
|
+
* @param {Function} frameFormatter - frame formatter function
|
|
185
|
+
*/
|
|
186
|
+
serializeData(stack, frameFormatter) {
|
|
187
|
+
const code = Reflect.get(this.error, 'code') ?? Reflect.get(this.error, 'type');
|
|
188
|
+
let message = detectErrorMessage(this.ctx, this.error);
|
|
189
|
+
if (code) {
|
|
190
|
+
message = `${message} (code: ${code})`;
|
|
191
|
+
}
|
|
192
|
+
return {
|
|
193
|
+
code,
|
|
194
|
+
message,
|
|
195
|
+
name: this.error.name,
|
|
196
|
+
status: this.error.status,
|
|
197
|
+
frames: stack instanceof Array ? stack.filter(frame => frame.getFileName()).map(frameFormatter) : [],
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* serialize request object
|
|
202
|
+
*/
|
|
203
|
+
serializeRequest() {
|
|
204
|
+
const headers = [];
|
|
205
|
+
Object.keys(this.request.headers).forEach(key => {
|
|
206
|
+
if (this._filterHeaders.includes(key)) {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
headers.push({
|
|
210
|
+
key,
|
|
211
|
+
value: this.request.headers[key],
|
|
212
|
+
});
|
|
213
|
+
});
|
|
214
|
+
const parsedCookies = parse(this.request.headers.cookie || '');
|
|
215
|
+
const cookies = Object.keys(parsedCookies).map(key => {
|
|
216
|
+
return { key, value: parsedCookies[key] };
|
|
217
|
+
});
|
|
218
|
+
return {
|
|
219
|
+
url: this.request.url,
|
|
220
|
+
httpVersion: this.request.req.httpVersion,
|
|
221
|
+
method: this.request.method,
|
|
222
|
+
connection: this.request.headers.connection,
|
|
223
|
+
headers,
|
|
224
|
+
cookies,
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* serialize app info object
|
|
229
|
+
*/
|
|
230
|
+
serializeAppInfo() {
|
|
231
|
+
let config = this.app.config;
|
|
232
|
+
if ('dumpConfigToObject' in this.app && typeof this.app.dumpConfigToObject === 'function') {
|
|
233
|
+
config = this.app.dumpConfigToObject().config.config;
|
|
234
|
+
}
|
|
235
|
+
return {
|
|
236
|
+
baseDir: this.app.config.baseDir,
|
|
237
|
+
config: util.inspect(config),
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3Jfdmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZXJyb3Jfdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnRkFBZ0Y7QUFFaEYsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pCLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFFN0IsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMvQixPQUFPLFFBQVEsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxVQUFVLEVBQUUsRUFBbUIsTUFBTSxhQUFhLENBQUM7QUFHMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBR2hELE1BQU0sa0JBQWtCLEdBQUcsT0FBTyxDQUFDO0FBWW5DLE1BQU0sT0FBTyxTQUFTO0lBQ3BCLEdBQUcsQ0FBVTtJQUNiLEtBQUssQ0FBZTtJQUNwQixPQUFPLENBQXFCO0lBQzVCLEdBQUcsQ0FBaUI7SUFDcEIsTUFBTSxDQUFzQjtJQUM1QixZQUFZLENBQVM7SUFFckIsV0FBVyxHQUFHLENBQUMsQ0FBQztJQUNoQixjQUFjLEdBQUcsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFFMUMsWUFBWSxHQUFZLEVBQUUsS0FBbUIsRUFBRSxRQUFnQjtRQUM3RCxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUMzQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO0lBQy9CLENBQUM7SUFF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
|
package/dist/lib/utils.d.ts
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
declare function
|
|
6
|
-
declare function
|
|
7
|
-
declare function accepts(ctx: Context): "json" | "js" | "html";
|
|
8
|
-
declare function isProd(app: Application): boolean;
|
|
9
|
-
//#endregion
|
|
10
|
-
export { accepts, detectErrorMessage, detectStatus, isProd };
|
|
1
|
+
import type { Context, Application } from 'egg';
|
|
2
|
+
import type { OnerrorError } from 'koa-onerror';
|
|
3
|
+
export declare function detectErrorMessage(ctx: Context, err: OnerrorError): string;
|
|
4
|
+
export declare function detectStatus(err: OnerrorError): number;
|
|
5
|
+
export declare function accepts(ctx: Context): "html" | "json" | "js";
|
|
6
|
+
export declare function isProd(app: Application): boolean;
|
package/dist/lib/utils.js
CHANGED
|
@@ -1,3 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export function detectErrorMessage(ctx, err) {
|
|
2
|
+
// detect json parse error
|
|
3
|
+
if (err.status === 400 &&
|
|
4
|
+
err.name === 'SyntaxError' &&
|
|
5
|
+
ctx.request.is('application/json', 'application/vnd.api+json', 'application/csp-report')) {
|
|
6
|
+
return 'Problems parsing JSON';
|
|
7
|
+
}
|
|
8
|
+
return err.message;
|
|
9
|
+
}
|
|
10
|
+
export function detectStatus(err) {
|
|
11
|
+
// detect status
|
|
12
|
+
let status = err.status || 500;
|
|
13
|
+
if (status < 200) {
|
|
14
|
+
// invalid status consider as 500, like urllib will return -1 status
|
|
15
|
+
status = 500;
|
|
16
|
+
}
|
|
17
|
+
return status;
|
|
18
|
+
}
|
|
19
|
+
export function accepts(ctx) {
|
|
20
|
+
if (ctx.acceptJSON)
|
|
21
|
+
return 'json';
|
|
22
|
+
if (ctx.acceptJSONP)
|
|
23
|
+
return 'js';
|
|
24
|
+
return 'html';
|
|
25
|
+
}
|
|
26
|
+
export function isProd(app) {
|
|
27
|
+
return app.config.env !== 'local' && app.config.env !== 'unittest';
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxHQUFZLEVBQUUsR0FBaUI7SUFDaEUsMEJBQTBCO0lBQzFCLElBQ0UsR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHO1FBQ2xCLEdBQUcsQ0FBQyxJQUFJLEtBQUssYUFBYTtRQUMxQixHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSwwQkFBMEIsRUFBRSx3QkFBd0IsQ0FBQyxFQUN4RixDQUFDO1FBQ0QsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDO0FBQ3JCLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEdBQWlCO0lBQzVDLGdCQUFnQjtJQUNoQixJQUFJLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQztJQUMvQixJQUFJLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNqQixvRUFBb0U7UUFDcEUsTUFBTSxHQUFHLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxHQUFZO0lBQ2xDLElBQUksR0FBRyxDQUFDLFVBQVU7UUFBRSxPQUFPLE1BQU0sQ0FBQztJQUNsQyxJQUFJLEdBQUcsQ0FBQyxXQUFXO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDakMsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNLENBQUMsR0FBZ0I7SUFDckMsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsS0FBSyxPQUFPLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssVUFBVSxDQUFDO0FBQ3JFLENBQUMifQ==
|
package/dist/types.d.ts
CHANGED
package/dist/types.js
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export { };
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/onerror",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.21",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"stack-trace": "^0.0.10"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
|
-
"egg": "4.1.0-beta.
|
|
36
|
+
"egg": "4.1.0-beta.21"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@types/mustache": "^4.2.5",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"tsdown": "^0.15.4",
|
|
42
42
|
"typescript": "^5.9.3",
|
|
43
43
|
"vitest": "4.0.0-beta.16",
|
|
44
|
-
"@eggjs/mock": "7.0.0-beta.
|
|
44
|
+
"@eggjs/mock": "7.0.0-beta.21"
|
|
45
45
|
},
|
|
46
46
|
"type": "module",
|
|
47
47
|
"exports": {
|
|
@@ -64,6 +64,6 @@
|
|
|
64
64
|
"lint": "oxlint --type-aware",
|
|
65
65
|
"typecheck": "tsc --noEmit",
|
|
66
66
|
"test": "vitest run",
|
|
67
|
-
"build": "tsdown"
|
|
67
|
+
"build": "tsdown && rimraf dist && tsc -b --clean && tsc && cp src/lib/onerror_page.mustache.html dist/lib/onerror_page.mustache.html"
|
|
68
68
|
}
|
|
69
69
|
}
|