@tsed/platform-log-middleware 8.0.0-alpha.1 → 8.0.0-alpha.10
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/lib/esm/middlewares/PlatformLogMiddleware.js +1 -1
- package/lib/esm/middlewares/PlatformLogMiddleware.js.map +1 -1
- package/package.json +22 -22
- package/readme.md +53 -2
- package/vitest.config.mts +1 -1
- package/lib/cjs/domain/PlatformLogMiddlewareSettings.js +0 -3
- package/lib/cjs/domain/PlatformLogMiddlewareSettings.js.map +0 -1
- package/lib/cjs/index.js +0 -9
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/middlewares/PlatformLogMiddleware.js +0 -166
- package/lib/cjs/middlewares/PlatformLogMiddleware.js.map +0 -1
- package/lib/cjs/package.json +0 -3
- package/lib/esm/package.json +0 -3
- package/lib/types-esm/domain/PlatformLogMiddlewareSettings.d.ts +0 -25
- package/lib/types-esm/index.d.ts +0 -5
- package/lib/types-esm/middlewares/PlatformLogMiddleware.d.ts +0 -44
|
@@ -93,7 +93,7 @@ let PlatformLogMiddleware = class PlatformLogMiddleware {
|
|
|
93
93
|
case "info":
|
|
94
94
|
return { ...this.minimalRequestPicker(ctx), ...obj };
|
|
95
95
|
case "debug":
|
|
96
|
-
return
|
|
96
|
+
return { ...this.requestToObject(ctx), ...obj };
|
|
97
97
|
default:
|
|
98
98
|
return { ...this.requestToObject(ctx), ...obj };
|
|
99
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformLogMiddleware.js","sourceRoot":"","sources":["../../../src/middlewares/PlatformLogMiddleware.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,EAAC,UAAU,EAAoB,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"PlatformLogMiddleware.js","sourceRoot":"","sources":["../../../src/middlewares/PlatformLogMiddleware.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsed/platform-log-middleware",
|
|
3
|
-
"description": "Log request middleware module for Ts.ED Framework",
|
|
4
|
-
"type": "
|
|
5
|
-
"version": "8.0.0-alpha.
|
|
3
|
+
"description": "Log request middleware module for Ts.ED Framework (deprecated)",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"version": "8.0.0-alpha.10",
|
|
6
6
|
"source": "./src/index.ts",
|
|
7
|
-
"main": "./lib/
|
|
7
|
+
"main": "./lib/esm/index.js",
|
|
8
8
|
"module": "./lib/esm/index.js",
|
|
9
9
|
"typings": "./lib/types/index.d.ts",
|
|
10
10
|
"exports": {
|
|
11
11
|
".": {
|
|
12
12
|
"types": "./lib/types/index.d.ts",
|
|
13
13
|
"import": "./lib/esm/index.js",
|
|
14
|
-
"
|
|
15
|
-
"default": "./lib/cjs/index.js"
|
|
14
|
+
"default": "./lib/esm/index.js"
|
|
16
15
|
}
|
|
17
16
|
},
|
|
18
17
|
"scripts": {
|
|
@@ -23,22 +22,22 @@
|
|
|
23
22
|
"test:ci": "vitest run --coverage.thresholds.autoUpdate=true"
|
|
24
23
|
},
|
|
25
24
|
"dependencies": {
|
|
26
|
-
"tslib": "2.
|
|
25
|
+
"tslib": "2.7.0"
|
|
27
26
|
},
|
|
28
27
|
"devDependencies": {
|
|
29
|
-
"@tsed/barrels": "8.0.0-alpha.
|
|
30
|
-
"@tsed/di": "8.0.0-alpha.
|
|
31
|
-
"@tsed/platform-middlewares": "8.0.0-alpha.
|
|
32
|
-
"@tsed/platform-params": "8.0.0-alpha.
|
|
33
|
-
"@tsed/typescript": "8.0.0-alpha.
|
|
34
|
-
"eslint": "
|
|
35
|
-
"typescript": "4.
|
|
36
|
-
"vitest": "2.
|
|
28
|
+
"@tsed/barrels": "8.0.0-alpha.10",
|
|
29
|
+
"@tsed/di": "8.0.0-alpha.10",
|
|
30
|
+
"@tsed/platform-middlewares": "8.0.0-alpha.10",
|
|
31
|
+
"@tsed/platform-params": "8.0.0-alpha.10",
|
|
32
|
+
"@tsed/typescript": "8.0.0-alpha.10",
|
|
33
|
+
"eslint": "9.12.0",
|
|
34
|
+
"typescript": "5.4.5",
|
|
35
|
+
"vitest": "2.1.2"
|
|
37
36
|
},
|
|
38
37
|
"peerDependencies": {
|
|
39
|
-
"@tsed/di": "8.0.0-alpha.
|
|
40
|
-
"@tsed/platform-middlewares": "8.0.0-alpha.
|
|
41
|
-
"@tsed/platform-params": "8.0.0-alpha.
|
|
38
|
+
"@tsed/di": "8.0.0-alpha.10",
|
|
39
|
+
"@tsed/platform-middlewares": "8.0.0-alpha.10",
|
|
40
|
+
"@tsed/platform-params": "8.0.0-alpha.10"
|
|
42
41
|
},
|
|
43
42
|
"peerDependenciesMeta": {
|
|
44
43
|
"@tsed/di": {
|
|
@@ -51,14 +50,15 @@
|
|
|
51
50
|
"optional": false
|
|
52
51
|
}
|
|
53
52
|
},
|
|
53
|
+
"publishConfig": {
|
|
54
|
+
"distTag": "deprecated",
|
|
55
|
+
"tag": "alpha"
|
|
56
|
+
},
|
|
54
57
|
"repository": "https://github.com/tsedio/tsed",
|
|
55
58
|
"bugs": {
|
|
56
59
|
"url": "https://github.com/tsedio/tsed/issues"
|
|
57
60
|
},
|
|
58
61
|
"homepage": "https://github.com/tsedio/tsed/tree/production/packages/platform/platform-log-middleware",
|
|
59
62
|
"author": "Romain Lenzotti",
|
|
60
|
-
"license": "MIT"
|
|
61
|
-
"publishConfig": {
|
|
62
|
-
"tag": "alpha"
|
|
63
|
-
}
|
|
63
|
+
"license": "MIT"
|
|
64
64
|
}
|
package/readme.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<div align="center">
|
|
6
|
-
<h1>@tsed/platform-log-
|
|
6
|
+
<h1>@tsed/platform-log-middleware</h1>
|
|
7
7
|
|
|
8
8
|
[](https://github.com/tsedio/tsed/actions?query=workflow%3A%22Build+%26+Release%22)
|
|
9
9
|
[](https://github.com/tsedio/tsed/blob/master/CONTRIBUTING.md)
|
|
@@ -29,10 +29,61 @@
|
|
|
29
29
|
|
|
30
30
|
A package of Ts.ED framework. See website: https://tsed.io/
|
|
31
31
|
|
|
32
|
+
# Important
|
|
33
|
+
|
|
34
|
+
This module is deprecated. Please use @tsed/platform-log-request instead.
|
|
35
|
+
|
|
32
36
|
# Installation
|
|
33
37
|
|
|
34
38
|
```bash
|
|
35
|
-
npm install --save @tsed/platform-
|
|
39
|
+
npm install --save @tsed/platform-log-middleware
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Configuration (Ts.ED v8 only)
|
|
43
|
+
|
|
44
|
+
```ts
|
|
45
|
+
import {Configuration} from "@tsed/di";
|
|
46
|
+
import {PlatformLogMiddleware} from "@tsed/platform-log-middleware";
|
|
47
|
+
|
|
48
|
+
@Configuration({
|
|
49
|
+
logger: {
|
|
50
|
+
/**
|
|
51
|
+
* Fields displayed when a request is logged. Possible values: `reqId`, `method`, `url`, `headers`, `body`, `query`,`params`, `duration`.
|
|
52
|
+
*/
|
|
53
|
+
requestFields: ["reqId", "method", "url", "duration", "route"],
|
|
54
|
+
/**
|
|
55
|
+
* Log all incoming request. By default, is true and print the configured `logger.requestFields`.
|
|
56
|
+
*/
|
|
57
|
+
logRequest: true,
|
|
58
|
+
/**
|
|
59
|
+
* Log start of all incoming request. By default, is false
|
|
60
|
+
*/
|
|
61
|
+
logStart: false,
|
|
62
|
+
/**
|
|
63
|
+
* Log end of all incoming request. By default, is true
|
|
64
|
+
*/
|
|
65
|
+
logEnd: true
|
|
66
|
+
},
|
|
67
|
+
middlewares: [
|
|
68
|
+
"cors",
|
|
69
|
+
"cookie-parser",
|
|
70
|
+
{
|
|
71
|
+
use: "compression",
|
|
72
|
+
options: {
|
|
73
|
+
brotli: {
|
|
74
|
+
enabled: true,
|
|
75
|
+
zlib: {}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"method-override",
|
|
80
|
+
"json-parser",
|
|
81
|
+
{use: "urlencoded-parser", options: {extended: true}},
|
|
82
|
+
/// add the platform log middleware here
|
|
83
|
+
PlatformLogMiddleware
|
|
84
|
+
]
|
|
85
|
+
})
|
|
86
|
+
class Server {}
|
|
36
87
|
```
|
|
37
88
|
|
|
38
89
|
## Contributors
|
package/vitest.config.mts
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformLogMiddlewareSettings.js","sourceRoot":"","sources":["../../../src/domain/PlatformLogMiddlewareSettings.ts"],"names":[],"mappings":""}
|
package/lib/cjs/index.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
/**
|
|
5
|
-
* @file Automatically generated by @tsed/barrels.
|
|
6
|
-
*/
|
|
7
|
-
tslib_1.__exportStar(require("./domain/PlatformLogMiddlewareSettings.js"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./middlewares/PlatformLogMiddleware.js"), exports);
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
package/lib/cjs/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,oFAA0D;AAC1D,iFAAuD"}
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PlatformLogMiddleware = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const core_1 = require("@tsed/core");
|
|
6
|
-
const di_1 = require("@tsed/di");
|
|
7
|
-
const platform_middlewares_1 = require("@tsed/platform-middlewares");
|
|
8
|
-
const platform_params_1 = require("@tsed/platform-params");
|
|
9
|
-
/**
|
|
10
|
-
* @middleware
|
|
11
|
-
* @platform
|
|
12
|
-
*/
|
|
13
|
-
let PlatformLogMiddleware = class PlatformLogMiddleware {
|
|
14
|
-
get settings() {
|
|
15
|
-
return this;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Handle the request.
|
|
19
|
-
*/
|
|
20
|
-
use(ctx) {
|
|
21
|
-
this.configureRequest(ctx);
|
|
22
|
-
this.onLogStart(ctx);
|
|
23
|
-
ctx.response.onEnd(() => this.onLogEnd(ctx));
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Called when the `$onResponse` is called by Ts.ED (through Express.end).
|
|
27
|
-
*/
|
|
28
|
-
onLogEnd(ctx) {
|
|
29
|
-
const { logRequest, logEnd, logLevel } = this.settings;
|
|
30
|
-
const started = ctx.logStarted;
|
|
31
|
-
if (logEnd && started) {
|
|
32
|
-
if (ctx.response.statusCode >= 400) {
|
|
33
|
-
const error = ctx.error;
|
|
34
|
-
ctx.logger.error({
|
|
35
|
-
event: "request.end",
|
|
36
|
-
status: ctx.response.statusCode,
|
|
37
|
-
status_code: String(ctx.response.statusCode),
|
|
38
|
-
state: "KO",
|
|
39
|
-
...(0, core_1.cleanObject)({
|
|
40
|
-
error_name: error?.name || error?.code,
|
|
41
|
-
error_message: error?.message,
|
|
42
|
-
error_errors: error?.errors,
|
|
43
|
-
error_stack: error?.stack,
|
|
44
|
-
error_body: error?.body,
|
|
45
|
-
error_headers: error?.headers
|
|
46
|
-
})
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
if (logLevel === "debug") {
|
|
51
|
-
ctx.logger.debug({
|
|
52
|
-
event: "request.end",
|
|
53
|
-
status: ctx.response.statusCode,
|
|
54
|
-
status_code: String(ctx.response.statusCode),
|
|
55
|
-
data: ctx.data,
|
|
56
|
-
state: "OK"
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
else if (logRequest) {
|
|
60
|
-
ctx.logger.info({
|
|
61
|
-
event: "request.end",
|
|
62
|
-
status: ctx.response.statusCode,
|
|
63
|
-
status_code: String(ctx.response.statusCode),
|
|
64
|
-
state: "OK"
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* The separate onLogStart() function will allow developer to overwrite the initial request log.
|
|
72
|
-
* @param ctx
|
|
73
|
-
*/
|
|
74
|
-
onLogStart(ctx) {
|
|
75
|
-
const { logRequest, logLevel, logStart } = this.settings;
|
|
76
|
-
ctx.logStarted = true;
|
|
77
|
-
if (logStart) {
|
|
78
|
-
if (logLevel === "debug") {
|
|
79
|
-
ctx.logger.debug({
|
|
80
|
-
event: "request.start"
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
else if (logRequest) {
|
|
84
|
-
ctx.logger.info({
|
|
85
|
-
event: "request.start"
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Attach all information that will be necessary to log the request. Attach a new `request.log` object.
|
|
92
|
-
*/
|
|
93
|
-
configureRequest(ctx) {
|
|
94
|
-
ctx.logger.alterLog((obj, level, withRequest) => {
|
|
95
|
-
switch (level) {
|
|
96
|
-
case "info":
|
|
97
|
-
return { ...this.minimalRequestPicker(ctx), ...obj };
|
|
98
|
-
case "debug":
|
|
99
|
-
return withRequest ? { ...this.requestToObject(ctx), ...obj } : obj;
|
|
100
|
-
default:
|
|
101
|
-
return { ...this.requestToObject(ctx), ...obj };
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Return complete request info.
|
|
107
|
-
* @returns {Object}
|
|
108
|
-
* @param ctx
|
|
109
|
-
*/
|
|
110
|
-
requestToObject(ctx) {
|
|
111
|
-
const { request } = ctx;
|
|
112
|
-
return {
|
|
113
|
-
method: request.method,
|
|
114
|
-
url: request.url,
|
|
115
|
-
route: request.route || request.url,
|
|
116
|
-
headers: request.headers,
|
|
117
|
-
body: request.body,
|
|
118
|
-
query: request.query,
|
|
119
|
-
params: request.params
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Return a filtered request from global configuration.
|
|
124
|
-
* @returns {Object}
|
|
125
|
-
* @param ctx
|
|
126
|
-
*/
|
|
127
|
-
minimalRequestPicker(ctx) {
|
|
128
|
-
const { requestFields } = this;
|
|
129
|
-
const info = this.requestToObject(ctx);
|
|
130
|
-
return requestFields.reduce((acc, key) => {
|
|
131
|
-
acc[key] = info[key];
|
|
132
|
-
return acc;
|
|
133
|
-
}, {});
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
tslib_1.__decorate([
|
|
137
|
-
(0, di_1.Constant)("logger.requestFields", ["reqId", "method", "url", "duration", "route"]),
|
|
138
|
-
tslib_1.__metadata("design:type", Array)
|
|
139
|
-
], PlatformLogMiddleware.prototype, "requestFields", void 0);
|
|
140
|
-
tslib_1.__decorate([
|
|
141
|
-
(0, di_1.Constant)("logger.logRequest", true),
|
|
142
|
-
tslib_1.__metadata("design:type", Boolean)
|
|
143
|
-
], PlatformLogMiddleware.prototype, "logRequest", void 0);
|
|
144
|
-
tslib_1.__decorate([
|
|
145
|
-
(0, di_1.Constant)("logger.logStart", true),
|
|
146
|
-
tslib_1.__metadata("design:type", Boolean)
|
|
147
|
-
], PlatformLogMiddleware.prototype, "logStart", void 0);
|
|
148
|
-
tslib_1.__decorate([
|
|
149
|
-
(0, di_1.Constant)("logger.logEnd", true),
|
|
150
|
-
tslib_1.__metadata("design:type", Boolean)
|
|
151
|
-
], PlatformLogMiddleware.prototype, "logEnd", void 0);
|
|
152
|
-
tslib_1.__decorate([
|
|
153
|
-
(0, di_1.Constant)("logger.level"),
|
|
154
|
-
tslib_1.__metadata("design:type", String)
|
|
155
|
-
], PlatformLogMiddleware.prototype, "logLevel", void 0);
|
|
156
|
-
tslib_1.__decorate([
|
|
157
|
-
tslib_1.__param(0, (0, platform_params_1.Context)()),
|
|
158
|
-
tslib_1.__metadata("design:type", Function),
|
|
159
|
-
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
160
|
-
tslib_1.__metadata("design:returntype", void 0)
|
|
161
|
-
], PlatformLogMiddleware.prototype, "use", null);
|
|
162
|
-
PlatformLogMiddleware = tslib_1.__decorate([
|
|
163
|
-
(0, platform_middlewares_1.Middleware)()
|
|
164
|
-
], PlatformLogMiddleware);
|
|
165
|
-
exports.PlatformLogMiddleware = PlatformLogMiddleware;
|
|
166
|
-
//# sourceMappingURL=PlatformLogMiddleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformLogMiddleware.js","sourceRoot":"","sources":["../../../src/middlewares/PlatformLogMiddleware.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/package.json
DELETED
package/lib/esm/package.json
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export type LoggerRequestFields = ("reqId" | "method" | "url" | "headers" | "body" | "query" | "params" | "duration" | string)[];
|
|
2
|
-
export interface PlatformLogMiddlewareSettings {
|
|
3
|
-
/**
|
|
4
|
-
* Fields displayed when a request is logged. Possible values: `reqId`, `method`, `url`, `headers`, `body`, `query`,`params`, `duration`.
|
|
5
|
-
*/
|
|
6
|
-
requestFields?: LoggerRequestFields;
|
|
7
|
-
/**
|
|
8
|
-
* Log all incoming request. By default, is true and print the configured `logger.requestFields`.
|
|
9
|
-
*/
|
|
10
|
-
logRequest?: boolean;
|
|
11
|
-
/**
|
|
12
|
-
* Log start of all incoming request. By default, is false
|
|
13
|
-
*/
|
|
14
|
-
logStart?: boolean;
|
|
15
|
-
/**
|
|
16
|
-
* Log end of all incoming request. By default, is true
|
|
17
|
-
*/
|
|
18
|
-
logEnd?: boolean;
|
|
19
|
-
}
|
|
20
|
-
declare global {
|
|
21
|
-
namespace TsED {
|
|
22
|
-
interface LoggerConfiguration extends Partial<PlatformLogMiddlewareSettings> {
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
package/lib/types-esm/index.d.ts
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { MiddlewareMethods } from "@tsed/platform-middlewares";
|
|
2
|
-
import { Context } from "@tsed/platform-params";
|
|
3
|
-
import type { LoggerRequestFields } from "../domain/PlatformLogMiddlewareSettings.js";
|
|
4
|
-
/**
|
|
5
|
-
* @middleware
|
|
6
|
-
* @platform
|
|
7
|
-
*/
|
|
8
|
-
export declare class PlatformLogMiddleware implements MiddlewareMethods {
|
|
9
|
-
protected requestFields: LoggerRequestFields;
|
|
10
|
-
protected logRequest: boolean;
|
|
11
|
-
protected logStart: boolean;
|
|
12
|
-
protected logEnd: boolean;
|
|
13
|
-
protected logLevel: string;
|
|
14
|
-
get settings(): this;
|
|
15
|
-
/**
|
|
16
|
-
* Handle the request.
|
|
17
|
-
*/
|
|
18
|
-
use(ctx: Context): void;
|
|
19
|
-
/**
|
|
20
|
-
* Called when the `$onResponse` is called by Ts.ED (through Express.end).
|
|
21
|
-
*/
|
|
22
|
-
onLogEnd(ctx: Context): void;
|
|
23
|
-
/**
|
|
24
|
-
* The separate onLogStart() function will allow developer to overwrite the initial request log.
|
|
25
|
-
* @param ctx
|
|
26
|
-
*/
|
|
27
|
-
protected onLogStart(ctx: Context): void;
|
|
28
|
-
/**
|
|
29
|
-
* Attach all information that will be necessary to log the request. Attach a new `request.log` object.
|
|
30
|
-
*/
|
|
31
|
-
protected configureRequest(ctx: Context): void;
|
|
32
|
-
/**
|
|
33
|
-
* Return complete request info.
|
|
34
|
-
* @returns {Object}
|
|
35
|
-
* @param ctx
|
|
36
|
-
*/
|
|
37
|
-
protected requestToObject(ctx: Context): any;
|
|
38
|
-
/**
|
|
39
|
-
* Return a filtered request from global configuration.
|
|
40
|
-
* @returns {Object}
|
|
41
|
-
* @param ctx
|
|
42
|
-
*/
|
|
43
|
-
protected minimalRequestPicker(ctx: Context): any;
|
|
44
|
-
}
|