@shuvi/service 1.0.32 → 1.0.33
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.
|
@@ -8,6 +8,8 @@ const util_1 = require("util");
|
|
|
8
8
|
const utils_1 = require("@shuvi/utils");
|
|
9
9
|
const invariant_1 = __importDefault(require("@shuvi/utils/invariant"));
|
|
10
10
|
const router_1 = require("@shuvi/router");
|
|
11
|
+
const trace_1 = require("../trace");
|
|
12
|
+
const trace_2 = require("@shuvi/shared/constants/trace");
|
|
11
13
|
class RouterImpl {
|
|
12
14
|
constructor(options) {
|
|
13
15
|
this._routes = [];
|
|
@@ -35,6 +37,9 @@ class RouterImpl {
|
|
|
35
37
|
return this;
|
|
36
38
|
}
|
|
37
39
|
handleRequest(req, res, out) {
|
|
40
|
+
trace_1.serverRequestTrace
|
|
41
|
+
.traceChild(trace_2.SERVER_REQUEST.events.SHUVI_SERVER_HANDLE_REQUEST_START.name)
|
|
42
|
+
.stop();
|
|
38
43
|
let index = 0;
|
|
39
44
|
let done = err => out(err);
|
|
40
45
|
const next = err => {
|
|
@@ -10,10 +10,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.getAssetMiddleware = void 0;
|
|
13
|
+
const trace_1 = require("@shuvi/shared/constants/trace");
|
|
13
14
|
const constants_1 = require("../../constants");
|
|
14
15
|
const utils_1 = require("../utils");
|
|
16
|
+
const { SHUVI_SERVER_RUN_ASSET_MIDDLEWARE } = trace_1.SERVER_REQUEST.events;
|
|
15
17
|
const getAssetMiddleware = (context) => {
|
|
16
18
|
return (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
+
const { serverRequestTrace } = context.traces;
|
|
17
20
|
const candidatePaths = [];
|
|
18
21
|
try {
|
|
19
22
|
const fullUrl = new URL(req.url, `http://${req.headers.host}`);
|
|
@@ -43,9 +46,16 @@ const getAssetMiddleware = (context) => {
|
|
|
43
46
|
if (!(0, utils_1.isStaticFileExist)(assetAbsPath)) {
|
|
44
47
|
continue;
|
|
45
48
|
}
|
|
49
|
+
const runAssetMiddlewareTrace = serverRequestTrace.traceChild(SHUVI_SERVER_RUN_ASSET_MIDDLEWARE.name);
|
|
46
50
|
let err = null;
|
|
47
51
|
try {
|
|
48
|
-
|
|
52
|
+
yield (0, utils_1.serveStatic)(req, res, assetAbsPath);
|
|
53
|
+
runAssetMiddlewareTrace.setAttributes({
|
|
54
|
+
[SHUVI_SERVER_RUN_ASSET_MIDDLEWARE.attrs.error.name]: false,
|
|
55
|
+
[SHUVI_SERVER_RUN_ASSET_MIDDLEWARE.attrs.statusCode.name]: res.statusCode
|
|
56
|
+
});
|
|
57
|
+
runAssetMiddlewareTrace.stop();
|
|
58
|
+
return;
|
|
49
59
|
}
|
|
50
60
|
catch (error) {
|
|
51
61
|
if (error.code === 'ENOENT') {
|
|
@@ -54,6 +64,11 @@ const getAssetMiddleware = (context) => {
|
|
|
54
64
|
err = error;
|
|
55
65
|
}
|
|
56
66
|
if (err) {
|
|
67
|
+
runAssetMiddlewareTrace.setAttributes({
|
|
68
|
+
[SHUVI_SERVER_RUN_ASSET_MIDDLEWARE.attrs.error.name]: true,
|
|
69
|
+
[SHUVI_SERVER_RUN_ASSET_MIDDLEWARE.attrs.statusCode.name]: (err === null || err === void 0 ? void 0 : err.statusCode) || res.statusCode
|
|
70
|
+
});
|
|
71
|
+
runAssetMiddlewareTrace.stop();
|
|
57
72
|
return next(err);
|
|
58
73
|
}
|
|
59
74
|
}
|
package/lib/server/plugin.js
CHANGED
|
@@ -18,8 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
exports.initServerPlugins = exports.createServerPluginAfter = exports.createServerPlugin = exports.createServerPluginBefore = exports.getManager = void 0;
|
|
19
19
|
const hook_1 = require("@shuvi/hook");
|
|
20
20
|
const plugins_1 = require("@shuvi/shared/plugins");
|
|
21
|
-
const trace_1 = require("
|
|
22
|
-
const trace_2 = require("../trace");
|
|
21
|
+
const trace_1 = require("./trace");
|
|
23
22
|
__exportStar(require("./pluginTypes"), exports);
|
|
24
23
|
const listen = (0, hook_1.createAsyncParallelHook)();
|
|
25
24
|
const internalHooks = {
|
|
@@ -32,8 +31,8 @@ const initServerPlugins = (manager, serverPlugins, pluginContext) => {
|
|
|
32
31
|
const serverContext = Object.assign({
|
|
33
32
|
serverPluginRunner: manager.runner,
|
|
34
33
|
traces: {
|
|
35
|
-
serverCreateAppTrace:
|
|
36
|
-
serverRequestTrace:
|
|
34
|
+
serverCreateAppTrace: trace_1.serverCreateAppTrace,
|
|
35
|
+
serverRequestTrace: trace_1.serverRequestTrace
|
|
37
36
|
}
|
|
38
37
|
}, pluginContext);
|
|
39
38
|
manager.setContext(serverContext);
|
|
@@ -10,7 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.ShuviServer = void 0;
|
|
13
|
-
const trace_1 = require("@shuvi/shared/constants/trace");
|
|
14
13
|
const string_1 = require("@shuvi/utils/string");
|
|
15
14
|
const serverMiddleware_1 = require("./serverMiddleware");
|
|
16
15
|
const http_server_1 = require("./http-server");
|
|
@@ -40,9 +39,6 @@ class ShuviServer {
|
|
|
40
39
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
40
|
const { _serverContext: context, _server: server } = this;
|
|
42
41
|
server.use(((req, resp, next) => {
|
|
43
|
-
context.traces.serverRequestTrace
|
|
44
|
-
.traceChild(trace_1.SERVER_REQUEST.events.SHUVI_SERVER_HANDLE_REQUEST_START.name)
|
|
45
|
-
.stop();
|
|
46
42
|
this._normalizeReq(req);
|
|
47
43
|
this._normalizeResp(resp);
|
|
48
44
|
next();
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.serverRequestTrace = exports.serverCreateAppTrace = void 0;
|
|
4
|
+
const trace_1 = require("@shuvi/shared/constants/trace");
|
|
5
|
+
const trace_2 = require("../trace");
|
|
6
|
+
exports.serverCreateAppTrace = (0, trace_2.trace)(trace_1.SERVER_CREATE_APP.name);
|
|
7
|
+
exports.serverRequestTrace = (0, trace_2.trace)(trace_1.SERVER_REQUEST.name);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shuvi/service",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.33",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/shuvijs/shuvi.git",
|
|
@@ -29,14 +29,14 @@
|
|
|
29
29
|
"@babel/generator": "7.14.5",
|
|
30
30
|
"@babel/parser": "7.14.7",
|
|
31
31
|
"@babel/traverse": "7.14.7",
|
|
32
|
-
"@shuvi/hook": "1.0.
|
|
33
|
-
"@shuvi/router": "1.0.
|
|
34
|
-
"@shuvi/runtime": "1.0.
|
|
35
|
-
"@shuvi/shared": "1.0.
|
|
36
|
-
"@shuvi/toolpack": "1.0.
|
|
37
|
-
"@shuvi/utils": "1.0.
|
|
38
|
-
"@shuvi/error-overlay": "1.0.
|
|
39
|
-
"@shuvi/reporters": "1.0.
|
|
32
|
+
"@shuvi/hook": "1.0.33",
|
|
33
|
+
"@shuvi/router": "1.0.33",
|
|
34
|
+
"@shuvi/runtime": "1.0.33",
|
|
35
|
+
"@shuvi/shared": "1.0.33",
|
|
36
|
+
"@shuvi/toolpack": "1.0.33",
|
|
37
|
+
"@shuvi/utils": "1.0.33",
|
|
38
|
+
"@shuvi/error-overlay": "1.0.33",
|
|
39
|
+
"@shuvi/reporters": "1.0.33",
|
|
40
40
|
"commander": "5.1.0",
|
|
41
41
|
"comment-json": "4.2.2",
|
|
42
42
|
"cross-spawn": "7.0.3",
|