@webda/core 2.0.0-beta.2 → 2.0.1
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/application.d.ts +5 -21
- package/lib/application.js +71 -84
- package/lib/application.js.map +1 -1
- package/lib/application.spec.js +121 -140
- package/lib/application.spec.js.map +1 -1
- package/lib/core.d.ts +44 -45
- package/lib/core.js +239 -320
- package/lib/core.js.map +1 -1
- package/lib/core.spec.js +326 -391
- package/lib/core.spec.js.map +1 -1
- package/lib/index.d.ts +49 -45
- package/lib/index.js +54 -67
- package/lib/index.js.map +1 -1
- package/lib/models/aclmodel.d.ts +2 -2
- package/lib/models/aclmodel.js +63 -90
- package/lib/models/aclmodel.js.map +1 -1
- package/lib/models/aclmodel.spec.js +128 -151
- package/lib/models/aclmodel.spec.js.map +1 -1
- package/lib/models/coremodel.d.ts +39 -17
- package/lib/models/coremodel.js +160 -117
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/coremodel.spec.js +143 -107
- package/lib/models/coremodel.spec.js.map +1 -1
- package/lib/models/deployment.js +1 -2
- package/lib/models/ident.d.ts +3 -3
- package/lib/models/ident.js +4 -9
- package/lib/models/ident.js.map +1 -1
- package/lib/models/ident.spec.js +9 -11
- package/lib/models/ident.spec.js.map +1 -1
- package/lib/models/ownermodel.d.ts +2 -2
- package/lib/models/ownermodel.js +39 -62
- package/lib/models/ownermodel.js.map +1 -1
- package/lib/models/ownermodel.spec.js +126 -166
- package/lib/models/ownermodel.spec.js.map +1 -1
- package/lib/models/rolemodel.d.ts +2 -2
- package/lib/models/rolemodel.js +24 -40
- package/lib/models/rolemodel.js.map +1 -1
- package/lib/models/rolemodel.spec.js +44 -61
- package/lib/models/rolemodel.spec.js.map +1 -1
- package/lib/models/user.d.ts +9 -9
- package/lib/models/user.js +3 -8
- package/lib/models/user.js.map +1 -1
- package/lib/models/user.spec.js +14 -16
- package/lib/models/user.spec.js.map +1 -1
- package/lib/queues/filequeue.d.ts +2 -2
- package/lib/queues/filequeue.js +72 -93
- package/lib/queues/filequeue.js.map +1 -1
- package/lib/queues/filequeue.spec.js +53 -70
- package/lib/queues/filequeue.spec.js.map +1 -1
- package/lib/queues/memoryqueue.d.ts +2 -2
- package/lib/queues/memoryqueue.js +37 -61
- package/lib/queues/memoryqueue.js.map +1 -1
- package/lib/queues/memoryqueue.spec.js +142 -165
- package/lib/queues/memoryqueue.spec.js.map +1 -1
- package/lib/queues/pubsubservice.d.ts +2 -2
- package/lib/queues/pubsubservice.js +3 -7
- package/lib/queues/pubsubservice.js.map +1 -1
- package/lib/queues/queue.spec.d.ts +1 -1
- package/lib/queues/queue.spec.js +42 -56
- package/lib/queues/queue.spec.js.map +1 -1
- package/lib/queues/queueservice.d.ts +4 -4
- package/lib/queues/queueservice.js +52 -67
- package/lib/queues/queueservice.js.map +1 -1
- package/lib/router.d.ts +3 -3
- package/lib/router.js +46 -47
- package/lib/router.js.map +1 -1
- package/lib/router.spec.js +64 -61
- package/lib/router.spec.js.map +1 -1
- package/lib/services/asyncevents.d.ts +2 -2
- package/lib/services/asyncevents.js +44 -64
- package/lib/services/asyncevents.js.map +1 -1
- package/lib/services/asyncevents.spec.js +81 -98
- package/lib/services/asyncevents.spec.js.map +1 -1
- package/lib/services/authentication.d.ts +28 -19
- package/lib/services/authentication.js +542 -574
- package/lib/services/authentication.js.map +1 -1
- package/lib/services/authentication.spec.js +411 -447
- package/lib/services/authentication.spec.js.map +1 -1
- package/lib/services/binary.d.ts +9 -7
- package/lib/services/binary.js +213 -245
- package/lib/services/binary.js.map +1 -1
- package/lib/services/binary.spec.d.ts +3 -3
- package/lib/services/binary.spec.js +390 -443
- package/lib/services/binary.spec.js.map +1 -1
- package/lib/services/cloudbinary.d.ts +3 -3
- package/lib/services/cloudbinary.js +45 -70
- package/lib/services/cloudbinary.js.map +1 -1
- package/lib/services/cloudbinary.spec.d.ts +3 -3
- package/lib/services/cloudbinary.spec.js +133 -162
- package/lib/services/cloudbinary.spec.js.map +1 -1
- package/lib/services/configuration.d.ts +6 -3
- package/lib/services/configuration.js +78 -103
- package/lib/services/configuration.js.map +1 -1
- package/lib/services/configuration.spec.js +63 -83
- package/lib/services/configuration.spec.js.map +1 -1
- package/lib/services/cron.d.ts +3 -2
- package/lib/services/cron.js +9 -13
- package/lib/services/cron.js.map +1 -1
- package/lib/services/cron.spec.js +18 -21
- package/lib/services/cron.spec.js.map +1 -1
- package/lib/services/cryptoservice.d.ts +258 -0
- package/lib/services/cryptoservice.js +312 -0
- package/lib/services/cryptoservice.js.map +1 -0
- package/lib/services/cryptoservice.spec.d.ts +1 -0
- package/lib/services/cryptoservice.spec.js +137 -0
- package/lib/services/cryptoservice.spec.js.map +1 -0
- package/lib/services/debugmailer.d.ts +1 -1
- package/lib/services/debugmailer.js +13 -34
- package/lib/services/debugmailer.js.map +1 -1
- package/lib/services/debugmailer.spec.js +16 -29
- package/lib/services/debugmailer.spec.js.map +1 -1
- package/lib/services/echo.d.ts +2 -2
- package/lib/services/echo.js +15 -31
- package/lib/services/echo.js.map +1 -1
- package/lib/services/echo.spec.js +27 -40
- package/lib/services/echo.spec.js.map +1 -1
- package/lib/services/filebinary.d.ts +10 -5
- package/lib/services/filebinary.js +171 -205
- package/lib/services/filebinary.js.map +1 -1
- package/lib/services/filebinary.spec.d.ts +2 -1
- package/lib/services/filebinary.spec.js +106 -117
- package/lib/services/filebinary.spec.js.map +1 -1
- package/lib/services/fileconfiguration.d.ts +2 -2
- package/lib/services/fileconfiguration.js +25 -43
- package/lib/services/fileconfiguration.js.map +1 -1
- package/lib/services/fileconfiguration.spec.js +79 -109
- package/lib/services/fileconfiguration.spec.js.map +1 -1
- package/lib/services/invitationservice.d.ts +10 -10
- package/lib/services/invitationservice.js +275 -313
- package/lib/services/invitationservice.js.map +1 -1
- package/lib/services/invitationservice.spec.js +443 -449
- package/lib/services/invitationservice.spec.js.map +1 -1
- package/lib/services/kubernetesconfiguration.d.ts +2 -2
- package/lib/services/kubernetesconfiguration.js +41 -59
- package/lib/services/kubernetesconfiguration.js.map +1 -1
- package/lib/services/kubernetesconfiguration.spec.js +80 -98
- package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
- package/lib/services/mailer.d.ts +4 -4
- package/lib/services/mailer.js +62 -86
- package/lib/services/mailer.js.map +1 -1
- package/lib/services/mailer.spec.js +86 -127
- package/lib/services/mailer.spec.js.map +1 -1
- package/lib/services/notificationservice.d.ts +4 -4
- package/lib/services/notificationservice.js +23 -42
- package/lib/services/notificationservice.js.map +1 -1
- package/lib/services/notificationservice.spec.js +47 -73
- package/lib/services/notificationservice.spec.js.map +1 -1
- package/lib/services/oauth.d.ts +32 -6
- package/lib/services/oauth.js +73 -78
- package/lib/services/oauth.js.map +1 -1
- package/lib/services/oauth.spec.js +128 -148
- package/lib/services/oauth.spec.js.map +1 -1
- package/lib/services/proxy.d.ts +74 -0
- package/lib/services/proxy.js +126 -0
- package/lib/services/proxy.js.map +1 -0
- package/lib/services/proxy.spec.d.ts +1 -0
- package/lib/services/proxy.spec.js +59 -0
- package/lib/services/proxy.spec.js.map +1 -0
- package/lib/services/resource.d.ts +2 -2
- package/lib/services/resource.js +12 -18
- package/lib/services/resource.js.map +1 -1
- package/lib/services/resource.spec.js +67 -99
- package/lib/services/resource.spec.js.map +1 -1
- package/lib/services/service.d.ts +29 -6
- package/lib/services/service.js +69 -39
- package/lib/services/service.js.map +1 -1
- package/lib/services/service.spec.js +62 -67
- package/lib/services/service.spec.js.map +1 -1
- package/lib/services/version.d.ts +1 -1
- package/lib/services/version.js +3 -8
- package/lib/services/version.js.map +1 -1
- package/lib/services/version.spec.js +11 -24
- package/lib/services/version.spec.js.map +1 -1
- package/lib/stores/aggregator.d.ts +3 -3
- package/lib/stores/aggregator.js +37 -57
- package/lib/stores/aggregator.js.map +1 -1
- package/lib/stores/file.d.ts +3 -3
- package/lib/stores/file.js +93 -131
- package/lib/stores/file.js.map +1 -1
- package/lib/stores/file.spec.d.ts +2 -2
- package/lib/stores/file.spec.js +262 -289
- package/lib/stores/file.spec.js.map +1 -1
- package/lib/stores/mapper.d.ts +4 -4
- package/lib/stores/mapper.js +111 -137
- package/lib/stores/mapper.js.map +1 -1
- package/lib/stores/mapper.spec.js +133 -150
- package/lib/stores/mapper.spec.js.map +1 -1
- package/lib/stores/memory.d.ts +67 -6
- package/lib/stores/memory.js +155 -117
- package/lib/stores/memory.js.map +1 -1
- package/lib/stores/memory.spec.d.ts +3 -2
- package/lib/stores/memory.spec.js +127 -105
- package/lib/stores/memory.spec.js.map +1 -1
- package/lib/stores/store.d.ts +40 -16
- package/lib/stores/store.js +847 -830
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.d.ts +6 -4
- package/lib/stores/store.spec.js +628 -647
- package/lib/stores/store.spec.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLLexer.d.ts +4 -4
- package/lib/stores/webdaql/WebdaQLLexer.js +9 -13
- package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +4 -4
- package/lib/stores/webdaql/WebdaQLParserLexer.js +9 -13
- package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserListener.d.ts +2 -2
- package/lib/stores/webdaql/WebdaQLParserListener.js +1 -2
- package/lib/stores/webdaql/WebdaQLParserListener.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserParser.d.ts +10 -10
- package/lib/stores/webdaql/WebdaQLParserParser.js +62 -91
- package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +2 -2
- package/lib/stores/webdaql/WebdaQLParserVisitor.js +1 -2
- package/lib/stores/webdaql/WebdaQLParserVisitor.js.map +1 -1
- package/lib/stores/webdaql/query.d.ts +4 -5
- package/lib/stores/webdaql/query.js +16 -19
- package/lib/stores/webdaql/query.js.map +1 -1
- package/lib/stores/webdaql/query.spec.js +30 -32
- package/lib/stores/webdaql/query.spec.js.map +1 -1
- package/lib/test.d.ts +3 -3
- package/lib/test.js +74 -94
- package/lib/test.js.map +1 -1
- package/lib/unpackedapplication.d.ts +1 -1
- package/lib/unpackedapplication.js +44 -38
- package/lib/unpackedapplication.js.map +1 -1
- package/lib/utils/abstractdeployer.js +1 -5
- package/lib/utils/abstractdeployer.js.map +1 -1
- package/lib/utils/abstractdeployer.spec.js +6 -8
- package/lib/utils/abstractdeployer.spec.js.map +1 -1
- package/lib/utils/context.d.ts +61 -29
- package/lib/utils/context.js +133 -127
- package/lib/utils/context.js.map +1 -1
- package/lib/utils/context.spec.js +144 -153
- package/lib/utils/context.spec.js.map +1 -1
- package/lib/utils/cookie.d.ts +66 -45
- package/lib/utils/cookie.js +69 -158
- package/lib/utils/cookie.js.map +1 -1
- package/lib/utils/cookie.spec.js +220 -238
- package/lib/utils/cookie.spec.js.map +1 -1
- package/lib/utils/esm.d.ts +4 -0
- package/lib/utils/esm.js +10 -0
- package/lib/utils/esm.js.map +1 -0
- package/lib/utils/httpcontext.d.ts +3 -0
- package/lib/utils/httpcontext.js +48 -65
- package/lib/utils/httpcontext.js.map +1 -1
- package/lib/utils/httpcontext.spec.js +37 -56
- package/lib/utils/httpcontext.spec.js.map +1 -1
- package/lib/utils/logger.d.ts +2 -2
- package/lib/utils/logger.js +15 -28
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/logger.spec.js +9 -11
- package/lib/utils/logger.spec.js.map +1 -1
- package/lib/utils/serializers.js +17 -20
- package/lib/utils/serializers.js.map +1 -1
- package/lib/utils/serializers.spec.js +43 -44
- package/lib/utils/serializers.spec.js.map +1 -1
- package/lib/utils/session.d.ts +120 -0
- package/lib/utils/session.js +155 -0
- package/lib/utils/session.js.map +1 -0
- package/lib/utils/session.spec.d.ts +1 -0
- package/lib/utils/session.spec.js +66 -0
- package/lib/utils/session.spec.js.map +1 -0
- package/lib/utils/waiter.d.ts +1 -1
- package/lib/utils/waiter.js +32 -52
- package/lib/utils/waiter.js.map +1 -1
- package/lib/utils/waiter.spec.js +75 -92
- package/lib/utils/waiter.spec.js.map +1 -1
- package/package.json +22 -14
- package/test/config-invitation.json +1 -3
- package/test/config.json +3 -3
- package/test/config.old.json +1 -2
- package/test/moddas/annotatedservice.js +5 -5
- package/test/moddas/debugmailer.js +2 -3
- package/test/moddas/fakeservice.js +2 -3
- package/test/moddas/voidstore.js +6 -4
- package/test/models/ident.js +2 -6
- package/test/models/task.js +3 -7
- package/test/package.json +2 -1
- package/webda.module.json +895 -189
package/lib/utils/httpcontext.js
CHANGED
|
@@ -1,17 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.HttpContext = void 0;
|
|
13
|
-
const cookie_1 = require("cookie");
|
|
14
|
-
const stream_1 = require("stream");
|
|
1
|
+
import { parse as cookieParse } from "cookie";
|
|
2
|
+
import { Readable } from "stream";
|
|
15
3
|
/**
|
|
16
4
|
* The HttpContext
|
|
17
5
|
*
|
|
@@ -21,7 +9,7 @@ const stream_1 = require("stream");
|
|
|
21
9
|
*
|
|
22
10
|
* @category CoreFeatures
|
|
23
11
|
*/
|
|
24
|
-
class HttpContext {
|
|
12
|
+
export class HttpContext {
|
|
25
13
|
constructor(hostname, method, uri, protocol = "http", port = "80", headers = {}) {
|
|
26
14
|
/**
|
|
27
15
|
* URI prefix in case it is exposed through something that prefix the uri
|
|
@@ -44,8 +32,8 @@ class HttpContext {
|
|
|
44
32
|
for (let i in headers) {
|
|
45
33
|
if (i.toLowerCase() === "cookie") {
|
|
46
34
|
this.cookies = Array.isArray(headers[i])
|
|
47
|
-
? headers[i].map(c => (
|
|
48
|
-
: (
|
|
35
|
+
? headers[i].map(c => cookieParse(c))
|
|
36
|
+
: cookieParse(headers[i]);
|
|
49
37
|
}
|
|
50
38
|
this.headers[i.toLowerCase()] = headers[i];
|
|
51
39
|
}
|
|
@@ -176,23 +164,21 @@ class HttpContext {
|
|
|
176
164
|
* @param encoding to analyze
|
|
177
165
|
* @returns
|
|
178
166
|
*/
|
|
179
|
-
getRawBodyAsString(limit = 1024 * 1024 * 10, timeout = 60000, encoding) {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
encoding = match[1].trim();
|
|
186
|
-
}
|
|
187
|
-
else {
|
|
188
|
-
encoding = "utf-8";
|
|
189
|
-
}
|
|
167
|
+
async getRawBodyAsString(limit = 1024 * 1024 * 10, timeout = 60000, encoding) {
|
|
168
|
+
// Get charset from header
|
|
169
|
+
if (!encoding) {
|
|
170
|
+
let match = this.getUniqueHeader("content-type", "charset=utf-8").match(/charset=([^;\s]+)/);
|
|
171
|
+
if (match) {
|
|
172
|
+
encoding = match[1].trim();
|
|
190
173
|
}
|
|
191
|
-
|
|
192
|
-
|
|
174
|
+
else {
|
|
175
|
+
encoding = "utf-8";
|
|
193
176
|
}
|
|
194
|
-
|
|
195
|
-
|
|
177
|
+
}
|
|
178
|
+
if (encoding !== "utf-8") {
|
|
179
|
+
throw new Error("Only UTF-8 is currently managed: https://github.com/loopingz/webda.io/issues/221");
|
|
180
|
+
}
|
|
181
|
+
return ((await this.getRawBody(limit, timeout)) || Buffer.from("")).toString(encoding);
|
|
196
182
|
}
|
|
197
183
|
/**
|
|
198
184
|
* Get request body
|
|
@@ -201,46 +187,44 @@ class HttpContext {
|
|
|
201
187
|
* @param timeout the time to read the request
|
|
202
188
|
* @returns
|
|
203
189
|
*/
|
|
204
|
-
getRawBody(limit = 1024 * 1024 * 10, timeout = 60000) {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
req.
|
|
214
|
-
|
|
215
|
-
if (chunk
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
reject("Request oversized");
|
|
219
|
-
}
|
|
220
|
-
body.push(chunk);
|
|
190
|
+
async getRawBody(limit = 1024 * 1024 * 10, timeout = 60000) {
|
|
191
|
+
if (this.body instanceof Readable) {
|
|
192
|
+
return new Promise((resolve, reject) => {
|
|
193
|
+
let req = this.body;
|
|
194
|
+
let body = [];
|
|
195
|
+
let timeoutId = setTimeout(() => {
|
|
196
|
+
reject("Request timeout");
|
|
197
|
+
}, timeout);
|
|
198
|
+
req.on("readable", () => {
|
|
199
|
+
let chunk = req.read();
|
|
200
|
+
if (chunk !== null) {
|
|
201
|
+
if (chunk.length + body.length > limit) {
|
|
202
|
+
clearTimeout(timeoutId);
|
|
203
|
+
reject("Request oversized");
|
|
221
204
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
clearTimeout(timeoutId);
|
|
225
|
-
// Cache body as stream won't be able to be read twice
|
|
226
|
-
this.body = Buffer.concat(body);
|
|
227
|
-
resolve(this.body);
|
|
228
|
-
});
|
|
205
|
+
body.push(chunk);
|
|
206
|
+
}
|
|
229
207
|
});
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
208
|
+
req.on("end", () => {
|
|
209
|
+
clearTimeout(timeoutId);
|
|
210
|
+
// Cache body as stream won't be able to be read twice
|
|
211
|
+
this.body = Buffer.concat(body);
|
|
212
|
+
resolve(this.body);
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
return this.body;
|
|
218
|
+
}
|
|
235
219
|
}
|
|
236
220
|
/**
|
|
237
221
|
* Get the body as stream
|
|
238
222
|
*/
|
|
239
223
|
getRawStream() {
|
|
240
|
-
if (this.body instanceof
|
|
224
|
+
if (this.body instanceof Readable) {
|
|
241
225
|
return this.body;
|
|
242
226
|
}
|
|
243
|
-
return
|
|
227
|
+
return Readable.from(this.body || Buffer.from(""));
|
|
244
228
|
}
|
|
245
229
|
/**
|
|
246
230
|
* Get HTTP Headers
|
|
@@ -273,7 +257,7 @@ class HttpContext {
|
|
|
273
257
|
* @param body
|
|
274
258
|
*/
|
|
275
259
|
setBody(body) {
|
|
276
|
-
if (body instanceof
|
|
260
|
+
if (body instanceof Readable || body instanceof Buffer) {
|
|
277
261
|
this.body = body;
|
|
278
262
|
}
|
|
279
263
|
else if (typeof body === "string") {
|
|
@@ -321,5 +305,4 @@ class HttpContext {
|
|
|
321
305
|
return `${this.protocol}//${this.hostname}${uri}`;
|
|
322
306
|
}
|
|
323
307
|
}
|
|
324
|
-
exports.HttpContext = HttpContext;
|
|
325
308
|
//# sourceMappingURL=httpcontext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpcontext.js","sourceRoot":"","sources":["../../src/utils/httpcontext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"httpcontext.js","sourceRoot":"","sources":["../../src/utils/httpcontext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AASlC;;;;;;;;GAQG;AACH,MAAM,OAAO,WAAW;IAkCtB,YACE,QAAgB,EAChB,MAAsB,EACtB,GAAW,EACX,WAA6B,MAAM,EACnC,OAAwB,IAAI,EAC5B,UAAgD,EAAE;QAXpD;;WAEG;QACH,WAAM,GAAW,EAAE,CAAC;QAUlB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;SACjC;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;SAClB;QACD,aAAa;QACb,IAAI,CAAC,QAAQ,GAAY,QAAQ,GAAG,GAAG,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,IAAI,OAAO,EAAE;YACrB,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE;gBAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACtC,CAAC,CAAY,OAAO,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;oBACjD,CAAC,CAAC,WAAW,CAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;aACrC;YACD,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;SAC5C;QACD,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IACE,IAAI,KAAK,SAAS;YAClB,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,QAAQ,KAAK,OAAO,CAAC,CAAC,EAC9F;YACA,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;SAChB;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,EAAU;QACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,MAAc;QACtB,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACxB,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACjD;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,aAAa;QACX,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE;YAC9B,OAAO,GAAG,CAAC;SACZ;aAAM;YACL,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,kBAAkB,CAAC,QAAgB,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,UAAkB,KAAK,EAAE,QAAiB;QACnG,0BAA0B;QAC1B,IAAI,CAAC,QAAQ,EAAE;YACb,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAC7F,IAAI,KAAK,EAAE;gBACT,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAC5B;iBAAM;gBACL,QAAQ,GAAG,OAAO,CAAC;aACpB;SACF;QACD,IAAI,QAAQ,KAAK,OAAO,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;SACrG;QACD,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAiB,QAAQ,CAAC,CAAC;IACzG,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,QAAgB,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,UAAkB,KAAK;QACxE,IAAI,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAE;YACjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,IAAI,GAAG,GAAa,IAAI,CAAC,IAAI,CAAC;gBAC9B,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,IAAI,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAC5B,CAAC,EAAE,OAAO,CAAC,CAAC;gBACZ,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;oBACtB,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;oBACvB,IAAI,KAAK,KAAK,IAAI,EAAE;wBAClB,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE;4BACtC,YAAY,CAAC,SAAS,CAAC,CAAC;4BACxB,MAAM,CAAC,mBAAmB,CAAC,CAAC;yBAC7B;wBACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBAClB;gBACH,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACjB,YAAY,CAAC,SAAS,CAAC,CAAC;oBACxB,sDAAsD;oBACtD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAChC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,IAAI,CAAC,IAAI,CAAC;SAClB;IACH,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAE;YACjC,OAAO,IAAI,CAAC,IAAI,CAAC;SAClB;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,IAAY,EAAE,GAAY;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,GAAG,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,IAAY,EAAE,GAAY;QACxC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,OAAO,MAAM,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC;SAC5B;QACD,OAAO,MAAM,IAAI,GAAG,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,IAAsC;QAC5C,IAAI,IAAI,YAAY,QAAQ,IAAI,IAAI,YAAY,MAAM,EAAE;YACtD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACnC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B;aAAM,IAAI,IAAI,KAAK,SAAS,EAAE;YAC7B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SAC/C;IACH,CAAC;IACD;;;;;OAKG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,MAAc,IAAI,CAAC,GAAG;QACnC,IAAI,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE;YAC/B,OAAO,GAAG,CAAC;SACZ;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACxB,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;SACjB;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,OAAO,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;SAChE;QACD,OAAO,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC;IACpD,CAAC;CACF"}
|
|
@@ -1,32 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
14
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.FakeReadable = void 0;
|
|
19
|
-
const mocha_1 = require("@testdeck/mocha");
|
|
20
|
-
const assert = require("assert");
|
|
21
|
-
const stream_1 = require("stream");
|
|
22
|
-
const httpcontext_1 = require("./httpcontext");
|
|
23
|
-
class FakeReadable extends stream_1.Readable {
|
|
7
|
+
import { suite, test } from "@testdeck/mocha";
|
|
8
|
+
import * as assert from "assert";
|
|
9
|
+
import { Readable } from "stream";
|
|
10
|
+
import { HttpContext } from "./httpcontext.js";
|
|
11
|
+
export class FakeReadable extends Readable {
|
|
24
12
|
_read() { }
|
|
25
13
|
}
|
|
26
|
-
exports.FakeReadable = FakeReadable;
|
|
27
14
|
let HttpContextTest = class HttpContextTest {
|
|
28
15
|
lowerCaseHeader() {
|
|
29
|
-
let ctx = new
|
|
16
|
+
let ctx = new HttpContext("test.webda.io", "GET", "/test", "http", 80, {
|
|
30
17
|
"X-Test": "weBda",
|
|
31
18
|
other: ["head1", "head2"],
|
|
32
19
|
cookie: ["", ""]
|
|
@@ -36,55 +23,49 @@ let HttpContextTest = class HttpContextTest {
|
|
|
36
23
|
assert.strictEqual(ctx.getPort(), "");
|
|
37
24
|
assert.strictEqual(ctx.getUniqueHeader("other"), "head2");
|
|
38
25
|
}
|
|
39
|
-
stream() {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
yield assert.rejects(() => ctx.getRawBodyAsString(), /Only UTF-8 is currently managed/);
|
|
55
|
-
});
|
|
26
|
+
async stream() {
|
|
27
|
+
let ctx = new HttpContext("test.webda.io", "GET", "/test", "http", 80, { "X-Test": "weBda" });
|
|
28
|
+
ctx.setBody("Test");
|
|
29
|
+
// Next line is just for cov
|
|
30
|
+
ctx.setClientIp("127.0.0.1").getClientIp();
|
|
31
|
+
let stream = ctx.getRawStream();
|
|
32
|
+
ctx.setBody(stream);
|
|
33
|
+
ctx.getRawStream();
|
|
34
|
+
assert.strictEqual(await ctx.getRawBodyAsString(), "Test");
|
|
35
|
+
// @ts-ignore
|
|
36
|
+
ctx.getHeaders()["content-type"] = "application/json";
|
|
37
|
+
assert.strictEqual(await ctx.getRawBodyAsString(), "Test");
|
|
38
|
+
// @ts-ignore
|
|
39
|
+
ctx.getHeaders()["content-type"] = "application/json; charset=iso-8859-1";
|
|
40
|
+
await assert.rejects(() => ctx.getRawBodyAsString(), /Only UTF-8 is currently managed/);
|
|
56
41
|
}
|
|
57
|
-
oversize() {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
yield assert.rejects(() => ctx.getRawBody(128), /Request oversized/);
|
|
64
|
-
});
|
|
42
|
+
async oversize() {
|
|
43
|
+
let ctx = new HttpContext("test.webda.io", "GET", "/test", "http", 80, { "X-Test": "weBda" });
|
|
44
|
+
ctx.setBody("Test".repeat(1024));
|
|
45
|
+
let stream = ctx.getRawStream();
|
|
46
|
+
ctx.setBody(stream);
|
|
47
|
+
await assert.rejects(() => ctx.getRawBody(128), /Request oversized/);
|
|
65
48
|
}
|
|
66
|
-
timeout() {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
yield assert.rejects(() => ctx.getRawBody(undefined, 100), /Request timeout/);
|
|
72
|
-
});
|
|
49
|
+
async timeout() {
|
|
50
|
+
let ctx = new HttpContext("test.webda.io", "GET", "/test", "http", 80, { "X-Test": "weBda" });
|
|
51
|
+
let str = new FakeReadable();
|
|
52
|
+
ctx.setBody(str);
|
|
53
|
+
await assert.rejects(() => ctx.getRawBody(undefined, 100), /Request timeout/);
|
|
73
54
|
}
|
|
74
55
|
};
|
|
75
56
|
__decorate([
|
|
76
|
-
|
|
57
|
+
test
|
|
77
58
|
], HttpContextTest.prototype, "lowerCaseHeader", null);
|
|
78
59
|
__decorate([
|
|
79
|
-
|
|
60
|
+
test
|
|
80
61
|
], HttpContextTest.prototype, "stream", null);
|
|
81
62
|
__decorate([
|
|
82
|
-
|
|
63
|
+
test
|
|
83
64
|
], HttpContextTest.prototype, "oversize", null);
|
|
84
65
|
__decorate([
|
|
85
|
-
|
|
66
|
+
test
|
|
86
67
|
], HttpContextTest.prototype, "timeout", null);
|
|
87
68
|
HttpContextTest = __decorate([
|
|
88
|
-
|
|
69
|
+
suite
|
|
89
70
|
], HttpContextTest);
|
|
90
71
|
//# sourceMappingURL=httpcontext.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpcontext.spec.js","sourceRoot":"","sources":["../../src/utils/httpcontext.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"httpcontext.spec.js","sourceRoot":"","sources":["../../src/utils/httpcontext.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/logger.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ConsoleLogger, Logger as WorkoutLogger, MemoryLogger, WorkerLogLevel, WorkerOutput } from "@webda/workout";
|
|
2
|
-
import { Core } from "../core";
|
|
3
|
-
import { Service, ServiceParameters } from "../services/service";
|
|
2
|
+
import { Core } from "../core.js";
|
|
3
|
+
import { Service, ServiceParameters } from "../services/service.js";
|
|
4
4
|
export declare class LoggerServiceParameters extends ServiceParameters {
|
|
5
5
|
/**
|
|
6
6
|
* Specify the log level of this service
|
package/lib/utils/logger.js
CHANGED
|
@@ -1,39 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const workout_1 = require("@webda/workout");
|
|
5
|
-
const service_1 = require("../services/service");
|
|
6
|
-
class LoggerServiceParameters extends service_1.ServiceParameters {
|
|
1
|
+
import { ConsoleLogger, FileLogger, MemoryLogger } from "@webda/workout";
|
|
2
|
+
import { Service, ServiceParameters } from "../services/service.js";
|
|
3
|
+
export class LoggerServiceParameters extends ServiceParameters {
|
|
7
4
|
/**
|
|
8
5
|
* @inheritdoc
|
|
9
6
|
*/
|
|
10
7
|
constructor(params) {
|
|
11
|
-
var _a;
|
|
12
8
|
super(params);
|
|
13
9
|
// Use the environment variable or fallback to INFO
|
|
14
|
-
|
|
10
|
+
this.logLevel ?? (this.logLevel = process.env["LOG_LEVEL"] || "INFO");
|
|
15
11
|
}
|
|
16
12
|
}
|
|
17
|
-
exports.LoggerServiceParameters = LoggerServiceParameters;
|
|
18
13
|
/**
|
|
19
14
|
* LoggerService is useful for inheritance
|
|
20
15
|
*/
|
|
21
|
-
class LoggerService extends
|
|
16
|
+
export class LoggerService extends Service {
|
|
22
17
|
}
|
|
23
|
-
|
|
24
|
-
class MemoryLoggerServiceParameters extends LoggerServiceParameters {
|
|
18
|
+
export class MemoryLoggerServiceParameters extends LoggerServiceParameters {
|
|
25
19
|
}
|
|
26
|
-
exports.MemoryLoggerServiceParameters = MemoryLoggerServiceParameters;
|
|
27
20
|
/**
|
|
28
21
|
* Store logs within memory
|
|
29
22
|
*
|
|
30
23
|
* Useful for test and other last logs
|
|
31
24
|
* @WebdaModda Webda/MemoryLogger
|
|
32
25
|
*/
|
|
33
|
-
class MemoryLoggerService extends LoggerService {
|
|
26
|
+
export class MemoryLoggerService extends LoggerService {
|
|
34
27
|
constructor(webda, name, params) {
|
|
35
28
|
super(webda, name, params);
|
|
36
|
-
this.workoutLogger = new
|
|
29
|
+
this.workoutLogger = new MemoryLogger(webda.getWorkerOutput(), this.parameters.logLevel, this.parameters.limit);
|
|
37
30
|
}
|
|
38
31
|
/**
|
|
39
32
|
* @inheritdoc
|
|
@@ -42,10 +35,8 @@ class MemoryLoggerService extends LoggerService {
|
|
|
42
35
|
return new MemoryLoggerServiceParameters(params);
|
|
43
36
|
}
|
|
44
37
|
}
|
|
45
|
-
|
|
46
|
-
class ConsoleLoggerServiceParameters extends LoggerServiceParameters {
|
|
38
|
+
export class ConsoleLoggerServiceParameters extends LoggerServiceParameters {
|
|
47
39
|
}
|
|
48
|
-
exports.ConsoleLoggerServiceParameters = ConsoleLoggerServiceParameters;
|
|
49
40
|
/**
|
|
50
41
|
* Log to the console
|
|
51
42
|
*
|
|
@@ -54,10 +45,10 @@ exports.ConsoleLoggerServiceParameters = ConsoleLoggerServiceParameters;
|
|
|
54
45
|
* @see @webda/workout.ConsoleLogger
|
|
55
46
|
* @WebdaModda ConsoleLogger
|
|
56
47
|
*/
|
|
57
|
-
class ConsoleLoggerService extends LoggerService {
|
|
48
|
+
export class ConsoleLoggerService extends LoggerService {
|
|
58
49
|
constructor(webda, name, params) {
|
|
59
50
|
super(webda, name, params);
|
|
60
|
-
this.workoutLogger = new
|
|
51
|
+
this.workoutLogger = new ConsoleLogger(webda.getWorkerOutput(), this.parameters.logLevel, this.parameters.format);
|
|
61
52
|
}
|
|
62
53
|
/**
|
|
63
54
|
* @inheritdoc
|
|
@@ -66,10 +57,8 @@ class ConsoleLoggerService extends LoggerService {
|
|
|
66
57
|
return new ConsoleLoggerServiceParameters(params);
|
|
67
58
|
}
|
|
68
59
|
}
|
|
69
|
-
|
|
70
|
-
class FileLoggerServiceParameters extends LoggerServiceParameters {
|
|
60
|
+
export class FileLoggerServiceParameters extends LoggerServiceParameters {
|
|
71
61
|
}
|
|
72
|
-
exports.FileLoggerServiceParameters = FileLoggerServiceParameters;
|
|
73
62
|
/**
|
|
74
63
|
* Save logs into a file
|
|
75
64
|
*
|
|
@@ -78,10 +67,10 @@ exports.FileLoggerServiceParameters = FileLoggerServiceParameters;
|
|
|
78
67
|
* @see `@webda/workout FileLogger`
|
|
79
68
|
* @WebdaModda FileLogger
|
|
80
69
|
*/
|
|
81
|
-
class FileLoggerService extends LoggerService {
|
|
70
|
+
export class FileLoggerService extends LoggerService {
|
|
82
71
|
constructor(webda, name, params) {
|
|
83
72
|
super(webda, name, params);
|
|
84
|
-
this.workoutLogger = new
|
|
73
|
+
this.workoutLogger = new FileLogger(webda.getWorkerOutput(), this.parameters.logLevel, this.parameters.file, this.parameters.sizeLimit, this.parameters.format);
|
|
85
74
|
}
|
|
86
75
|
/**
|
|
87
76
|
* @inheritdoc
|
|
@@ -90,11 +79,10 @@ class FileLoggerService extends LoggerService {
|
|
|
90
79
|
return new FileLoggerServiceParameters(params);
|
|
91
80
|
}
|
|
92
81
|
}
|
|
93
|
-
exports.FileLoggerService = FileLoggerService;
|
|
94
82
|
/**
|
|
95
83
|
*
|
|
96
84
|
*/
|
|
97
|
-
class Logger {
|
|
85
|
+
export class Logger {
|
|
98
86
|
constructor(output, clazz) {
|
|
99
87
|
this.output = output;
|
|
100
88
|
this.clazz = clazz;
|
|
@@ -127,5 +115,4 @@ class Logger {
|
|
|
127
115
|
this.output.setTitle(title);
|
|
128
116
|
}
|
|
129
117
|
}
|
|
130
|
-
exports.Logger = Logger;
|
|
131
118
|
//# sourceMappingURL=logger.js.map
|
package/lib/utils/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/logger.spec.js
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
let LoggerTest = class LoggerTest extends test_1.WebdaTest {
|
|
7
|
+
import { suite, test } from "@testdeck/mocha";
|
|
8
|
+
import { WebdaTest } from "../test.js";
|
|
9
|
+
import { FileLoggerService, Logger } from "./logger.js";
|
|
10
|
+
let LoggerTest = class LoggerTest extends WebdaTest {
|
|
13
11
|
testLogger() {
|
|
14
12
|
let output = {
|
|
15
13
|
log: (...args) => { },
|
|
@@ -21,7 +19,7 @@ let LoggerTest = class LoggerTest extends test_1.WebdaTest {
|
|
|
21
19
|
updateProgress: (...args) => { },
|
|
22
20
|
setTitle: (...args) => { }
|
|
23
21
|
};
|
|
24
|
-
let logger = new
|
|
22
|
+
let logger = new Logger(output, "plop");
|
|
25
23
|
logger.log("DEBUG", "test");
|
|
26
24
|
logger.logGroupOpen("bouzouf");
|
|
27
25
|
logger.logProgressStart("test", 100, "plop");
|
|
@@ -32,16 +30,16 @@ let LoggerTest = class LoggerTest extends test_1.WebdaTest {
|
|
|
32
30
|
logger.logTitle("MyTitle");
|
|
33
31
|
}
|
|
34
32
|
fileLogger() {
|
|
35
|
-
let logger = new
|
|
33
|
+
let logger = new FileLoggerService(this.webda, "flogger", {});
|
|
36
34
|
}
|
|
37
35
|
};
|
|
38
36
|
__decorate([
|
|
39
|
-
|
|
37
|
+
test
|
|
40
38
|
], LoggerTest.prototype, "testLogger", null);
|
|
41
39
|
__decorate([
|
|
42
|
-
|
|
40
|
+
test
|
|
43
41
|
], LoggerTest.prototype, "fileLogger", null);
|
|
44
42
|
LoggerTest = __decorate([
|
|
45
|
-
|
|
43
|
+
suite
|
|
46
44
|
], LoggerTest);
|
|
47
45
|
//# sourceMappingURL=logger.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.spec.js","sourceRoot":"","sources":["../../src/utils/logger.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.spec.js","sourceRoot":"","sources":["../../src/utils/logger.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGrD,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,SAAS;IAEhC,UAAU;QACR,IAAI,MAAM,GAAQ;YAChB,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,GAAE,CAAC;YACpB,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,GAAE,CAAC;YAC/B,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,GAAE,CAAC;YAC1B,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,GAAE,CAAC;YAC3B,aAAa,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,GAAE,CAAC;YAC9B,iBAAiB,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,GAAE,CAAC;YAClC,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,GAAE,CAAC;YAC/B,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,GAAE,CAAC;SAC1B,CAAC;QACF,IAAI,MAAM,GAAG,IAAI,MAAM,CAAe,MAAM,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5B,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,oBAAoB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,aAAa,EAAE,CAAC;QACvB,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAGD,UAAU;QACR,IAAI,MAAM,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;CACF,CAAA;AA1BC;IADC,IAAI;4CAqBJ;AAGD;IADC,IAAI;4CAGJ;AA3BG,UAAU;IADf,KAAK;GACA,UAAU,CA4Bf"}
|