@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/context.d.ts
CHANGED
|
@@ -1,21 +1,15 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
/// <reference types="node" />
|
|
2
4
|
import { WorkerLogLevel } from "@webda/workout";
|
|
3
5
|
import { EventEmitter } from "events";
|
|
4
6
|
import * as http from "http";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
* @category CoreFeatures
|
|
12
|
-
*/
|
|
13
|
-
export declare class ClientInfo extends Map<string, any> {
|
|
14
|
-
ip: string;
|
|
15
|
-
userAgent: string;
|
|
16
|
-
locale: string;
|
|
17
|
-
referer: string;
|
|
18
|
-
}
|
|
7
|
+
import { Writable } from "stream";
|
|
8
|
+
import { Core } from "../core.js";
|
|
9
|
+
import { User } from "../models/user.js";
|
|
10
|
+
import { Service } from "../services/service.js";
|
|
11
|
+
import { Session } from "../utils/session.js";
|
|
12
|
+
import { HttpContext } from "./httpcontext.js";
|
|
19
13
|
/**
|
|
20
14
|
* @category CoreFeatures
|
|
21
15
|
*/
|
|
@@ -29,26 +23,47 @@ declare class Cookie {
|
|
|
29
23
|
* @WebdaModel
|
|
30
24
|
*/
|
|
31
25
|
export declare class Context<T = any, U = any> extends EventEmitter {
|
|
32
|
-
clientInfo: ClientInfo;
|
|
33
26
|
protected _body: any;
|
|
27
|
+
/**
|
|
28
|
+
* Contains the response headers
|
|
29
|
+
*/
|
|
34
30
|
protected _outputHeaders: Map<string, string>;
|
|
31
|
+
/**
|
|
32
|
+
* Contain emitting Core
|
|
33
|
+
*/
|
|
35
34
|
protected _webda: Core;
|
|
35
|
+
/**
|
|
36
|
+
* Current status code
|
|
37
|
+
*/
|
|
36
38
|
statusCode: number;
|
|
37
39
|
_cookie: Map<string, Cookie>;
|
|
40
|
+
/**
|
|
41
|
+
*
|
|
42
|
+
*/
|
|
38
43
|
headers: Map<string, string>;
|
|
39
44
|
_route: any;
|
|
40
|
-
|
|
41
|
-
|
|
45
|
+
/**
|
|
46
|
+
* Session
|
|
47
|
+
*/
|
|
48
|
+
protected session: Session;
|
|
42
49
|
_ended: Promise<any>;
|
|
43
|
-
_stream:
|
|
50
|
+
_stream: Writable;
|
|
51
|
+
/**
|
|
52
|
+
* Contain all registered promises to this context
|
|
53
|
+
*/
|
|
44
54
|
_promises: Promise<any>[];
|
|
45
55
|
_executor: Service<any>;
|
|
46
|
-
|
|
47
|
-
|
|
56
|
+
/**
|
|
57
|
+
* If headers were flushed
|
|
58
|
+
*/
|
|
59
|
+
protected headersFlushed: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Contain the sanitized request body if computed
|
|
62
|
+
*/
|
|
63
|
+
protected _sanitized: any;
|
|
48
64
|
protected parameters: any;
|
|
49
65
|
protected _pathParams: any;
|
|
50
66
|
protected _serviceParams: any;
|
|
51
|
-
files: any[];
|
|
52
67
|
protected static __globalContext: Context;
|
|
53
68
|
private global;
|
|
54
69
|
/**
|
|
@@ -57,6 +72,9 @@ export declare class Context<T = any, U = any> extends EventEmitter {
|
|
|
57
72
|
protected extensions: {
|
|
58
73
|
[key: string]: any;
|
|
59
74
|
};
|
|
75
|
+
/**
|
|
76
|
+
* Loaded user if exist
|
|
77
|
+
*/
|
|
60
78
|
private user;
|
|
61
79
|
/**
|
|
62
80
|
* Get Global Context
|
|
@@ -68,12 +86,10 @@ export declare class Context<T = any, U = any> extends EventEmitter {
|
|
|
68
86
|
* @param ctx to set as Global
|
|
69
87
|
*/
|
|
70
88
|
static setGlobalContext(ctx: Context): void;
|
|
71
|
-
isGlobal(): boolean;
|
|
72
89
|
/**
|
|
73
|
-
*
|
|
74
|
-
* Used in case of Buffer response ( like Lambda )
|
|
90
|
+
* Return if context is global
|
|
75
91
|
*/
|
|
76
|
-
|
|
92
|
+
isGlobal(): boolean;
|
|
77
93
|
/**
|
|
78
94
|
* Set current http context
|
|
79
95
|
* @param httpContext current http context
|
|
@@ -107,11 +123,18 @@ export declare class Context<T = any, U = any> extends EventEmitter {
|
|
|
107
123
|
parameter(name: string): any;
|
|
108
124
|
getParameters(): any;
|
|
109
125
|
private processParameters;
|
|
110
|
-
|
|
126
|
+
/**
|
|
127
|
+
* Get linked session
|
|
128
|
+
* @returns
|
|
129
|
+
*/
|
|
130
|
+
getSession<K = Session>(): K;
|
|
111
131
|
getServiceParameters(): any;
|
|
112
132
|
getPathParameters(): any;
|
|
113
133
|
setServiceParameters(params: any): void;
|
|
114
134
|
setPathParameters(params: any): void;
|
|
135
|
+
/**
|
|
136
|
+
* Remove everything that was about to be sent
|
|
137
|
+
*/
|
|
115
138
|
resetResponse(): void;
|
|
116
139
|
/**
|
|
117
140
|
* Write data to the client
|
|
@@ -170,6 +193,10 @@ export declare class Context<T = any, U = any> extends EventEmitter {
|
|
|
170
193
|
*/
|
|
171
194
|
end(): Promise<any>;
|
|
172
195
|
getRequestBody(sanitizedOptions?: any): Promise<T>;
|
|
196
|
+
/**
|
|
197
|
+
* Get request body
|
|
198
|
+
* @returns
|
|
199
|
+
*/
|
|
173
200
|
getResponseBody(): any;
|
|
174
201
|
/**
|
|
175
202
|
* Retrieve a http.IncomingMessage valid from Context
|
|
@@ -189,7 +216,7 @@ export declare class Context<T = any, U = any> extends EventEmitter {
|
|
|
189
216
|
* Get the HTTP stream to output raw data
|
|
190
217
|
* @returns {*}
|
|
191
218
|
*/
|
|
192
|
-
getStream():
|
|
219
|
+
getStream(): Writable;
|
|
193
220
|
/**
|
|
194
221
|
* Get the current user from session
|
|
195
222
|
*/
|
|
@@ -249,8 +276,13 @@ export declare class Context<T = any, U = any> extends EventEmitter {
|
|
|
249
276
|
* @ignore
|
|
250
277
|
* Used by Webda framework to set the body, session and output stream if known
|
|
251
278
|
*/
|
|
252
|
-
constructor(webda: Core, httpContext: HttpContext, stream?:
|
|
253
|
-
|
|
279
|
+
constructor(webda: Core, httpContext: HttpContext, stream?: Writable);
|
|
280
|
+
createStream(): void;
|
|
281
|
+
/**
|
|
282
|
+
* Create a new session
|
|
283
|
+
* @returns
|
|
284
|
+
*/
|
|
285
|
+
newSession(): Session;
|
|
254
286
|
init(): Promise<this>;
|
|
255
287
|
emitError(err: any): void;
|
|
256
288
|
}
|
package/lib/utils/context.js
CHANGED
|
@@ -1,26 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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.Context = exports.ClientInfo = void 0;
|
|
13
|
-
const acceptLanguage = require("accept-language");
|
|
14
|
-
const events_1 = require("events");
|
|
15
|
-
const sanitizeHtml = require("sanitize-html");
|
|
16
|
-
const stream_1 = require("stream");
|
|
17
|
-
const serializers_1 = require("./serializers");
|
|
18
|
-
/**
|
|
19
|
-
* @category CoreFeatures
|
|
20
|
-
*/
|
|
21
|
-
class ClientInfo extends Map {
|
|
22
|
-
}
|
|
23
|
-
exports.ClientInfo = ClientInfo;
|
|
1
|
+
import acceptLanguage from "accept-language";
|
|
2
|
+
import { EventEmitter } from "events";
|
|
3
|
+
import sanitizeHtml from "sanitize-html";
|
|
4
|
+
import { Readable } from "stream";
|
|
5
|
+
import { WritableStreamBuffer } from "stream-buffers";
|
|
6
|
+
import { JSONUtils } from "./serializers.js";
|
|
24
7
|
/**
|
|
25
8
|
* @category CoreFeatures
|
|
26
9
|
*/
|
|
@@ -30,7 +13,7 @@ class Cookie {
|
|
|
30
13
|
* @category CoreFeatures
|
|
31
14
|
* @WebdaModel
|
|
32
15
|
*/
|
|
33
|
-
class Context extends
|
|
16
|
+
export class Context extends EventEmitter {
|
|
34
17
|
/**
|
|
35
18
|
* @ignore
|
|
36
19
|
* Used by Webda framework to set the body, session and output stream if known
|
|
@@ -42,24 +25,20 @@ class Context extends events_1.EventEmitter {
|
|
|
42
25
|
this._pathParams = {};
|
|
43
26
|
this._serviceParams = {};
|
|
44
27
|
this.global = false;
|
|
45
|
-
this.clientInfo = new ClientInfo();
|
|
46
28
|
this.extensions = {
|
|
47
29
|
http: httpContext
|
|
48
30
|
};
|
|
49
31
|
this._webda = webda;
|
|
50
32
|
this._promises = [];
|
|
51
33
|
this._outputHeaders = new Map();
|
|
52
|
-
this.
|
|
34
|
+
this.headersFlushed = false;
|
|
53
35
|
this._body = undefined;
|
|
54
36
|
this.statusCode = 204;
|
|
55
37
|
this._stream = stream;
|
|
56
|
-
this._buffered = false;
|
|
57
38
|
this.parameters = {};
|
|
58
39
|
this.headers = new Map();
|
|
59
40
|
if (stream === undefined) {
|
|
60
|
-
this.
|
|
61
|
-
this._stream._body = [];
|
|
62
|
-
this._stream._write = this._write;
|
|
41
|
+
this.createStream();
|
|
63
42
|
}
|
|
64
43
|
this.processParameters();
|
|
65
44
|
if (httpContext) {
|
|
@@ -81,20 +60,11 @@ class Context extends events_1.EventEmitter {
|
|
|
81
60
|
ctx.global = true;
|
|
82
61
|
Context.__globalContext = ctx;
|
|
83
62
|
}
|
|
84
|
-
isGlobal() {
|
|
85
|
-
return this.global;
|
|
86
|
-
}
|
|
87
63
|
/**
|
|
88
|
-
*
|
|
89
|
-
* Used in case of Buffer response ( like Lambda )
|
|
64
|
+
* Return if context is global
|
|
90
65
|
*/
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
this._body = [];
|
|
94
|
-
}
|
|
95
|
-
this._body.push(chunk);
|
|
96
|
-
next();
|
|
97
|
-
return true;
|
|
66
|
+
isGlobal() {
|
|
67
|
+
return this.global;
|
|
98
68
|
}
|
|
99
69
|
/**
|
|
100
70
|
* Set current http context
|
|
@@ -109,6 +79,7 @@ class Context extends events_1.EventEmitter {
|
|
|
109
79
|
*/
|
|
110
80
|
reinit() {
|
|
111
81
|
this._sanitized = undefined;
|
|
82
|
+
this.createStream();
|
|
112
83
|
}
|
|
113
84
|
/**
|
|
114
85
|
* Get current http context
|
|
@@ -151,11 +122,12 @@ class Context extends events_1.EventEmitter {
|
|
|
151
122
|
this.parameters = Object.assign({}, this._serviceParams);
|
|
152
123
|
this.parameters = Object.assign(this.parameters, this._pathParams);
|
|
153
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Get linked session
|
|
127
|
+
* @returns
|
|
128
|
+
*/
|
|
154
129
|
getSession() {
|
|
155
|
-
|
|
156
|
-
return this.session.getProxy();
|
|
157
|
-
}
|
|
158
|
-
return undefined;
|
|
130
|
+
return this.session;
|
|
159
131
|
}
|
|
160
132
|
getServiceParameters() {
|
|
161
133
|
return this._serviceParams;
|
|
@@ -171,9 +143,15 @@ class Context extends events_1.EventEmitter {
|
|
|
171
143
|
this._pathParams = params;
|
|
172
144
|
this.processParameters();
|
|
173
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* Remove everything that was about to be sent
|
|
148
|
+
*/
|
|
174
149
|
resetResponse() {
|
|
175
150
|
this._body = undefined;
|
|
176
151
|
this._outputHeaders.clear();
|
|
152
|
+
if (this._stream instanceof WritableStreamBuffer) {
|
|
153
|
+
this.createStream();
|
|
154
|
+
}
|
|
177
155
|
}
|
|
178
156
|
/**
|
|
179
157
|
* Write data to the client
|
|
@@ -188,7 +166,7 @@ class Context extends events_1.EventEmitter {
|
|
|
188
166
|
}
|
|
189
167
|
if (typeof output === "object" && !(output instanceof Buffer)) {
|
|
190
168
|
this.setHeader("Content-type", "application/json");
|
|
191
|
-
this._body =
|
|
169
|
+
this._body = JSONUtils.stringify(output, undefined, 0, true);
|
|
192
170
|
return true;
|
|
193
171
|
}
|
|
194
172
|
else if (typeof output == "string") {
|
|
@@ -209,6 +187,9 @@ class Context extends events_1.EventEmitter {
|
|
|
209
187
|
* @param {String} value
|
|
210
188
|
*/
|
|
211
189
|
setHeader(header, value) {
|
|
190
|
+
if (this.headersFlushed) {
|
|
191
|
+
throw new Error("Headers have been sent already");
|
|
192
|
+
}
|
|
212
193
|
this._outputHeaders[header] = value;
|
|
213
194
|
}
|
|
214
195
|
/**
|
|
@@ -219,7 +200,7 @@ class Context extends events_1.EventEmitter {
|
|
|
219
200
|
* @param {Object} headers to add to the response
|
|
220
201
|
*/
|
|
221
202
|
writeHead(statusCode, headers = undefined) {
|
|
222
|
-
this._outputHeaders =
|
|
203
|
+
this._outputHeaders = { ...this._outputHeaders, ...headers };
|
|
223
204
|
if (statusCode !== undefined) {
|
|
224
205
|
this.statusCode = statusCode;
|
|
225
206
|
}
|
|
@@ -278,59 +259,65 @@ class Context extends events_1.EventEmitter {
|
|
|
278
259
|
* @emits 'finish' event
|
|
279
260
|
* @throws Error if the request was already ended
|
|
280
261
|
*/
|
|
281
|
-
end() {
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
if (this._ended) {
|
|
285
|
-
return this._ended;
|
|
286
|
-
}
|
|
287
|
-
this._ended = new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
288
|
-
this.emit("end");
|
|
289
|
-
yield Promise.all(this._promises);
|
|
290
|
-
if (this._buffered && this._stream._body !== undefined) {
|
|
291
|
-
this._body = Buffer.concat(this._stream._body);
|
|
292
|
-
this.statusCode = 200;
|
|
293
|
-
}
|
|
294
|
-
if (!this._flushHeaders) {
|
|
295
|
-
this._webda.flushHeaders(this);
|
|
296
|
-
}
|
|
297
|
-
this._webda.flush(this);
|
|
298
|
-
this.emit("close");
|
|
299
|
-
resolve();
|
|
300
|
-
}));
|
|
262
|
+
async end() {
|
|
263
|
+
/** @ignore */
|
|
264
|
+
if (this._ended) {
|
|
301
265
|
return this._ended;
|
|
266
|
+
}
|
|
267
|
+
this._ended = new Promise(async (resolve) => {
|
|
268
|
+
this.emit("end");
|
|
269
|
+
if (this.getExtension("http")) {
|
|
270
|
+
await this._webda.getService("SessionManager").save(this, this.session);
|
|
271
|
+
}
|
|
272
|
+
await Promise.all(this._promises);
|
|
273
|
+
if (this._stream instanceof WritableStreamBuffer && this._stream.size()) {
|
|
274
|
+
this._body = this._stream.getContents();
|
|
275
|
+
this.statusCode = 200;
|
|
276
|
+
}
|
|
277
|
+
if (!this.headersFlushed) {
|
|
278
|
+
this._webda.flushHeaders(this);
|
|
279
|
+
}
|
|
280
|
+
this._webda.flush(this);
|
|
281
|
+
this.emit("close");
|
|
282
|
+
resolve();
|
|
302
283
|
});
|
|
284
|
+
return this._ended;
|
|
303
285
|
}
|
|
304
|
-
getRequestBody(sanitizedOptions = {
|
|
286
|
+
async getRequestBody(sanitizedOptions = {
|
|
305
287
|
allowedTags: [],
|
|
306
288
|
allowedAttributes: {}
|
|
307
289
|
}) {
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
return sanitizeHtml(obj, options);
|
|
315
|
-
}
|
|
316
|
-
if (typeof obj === "object") {
|
|
317
|
-
Object.keys(obj).forEach(key => {
|
|
318
|
-
obj[key] = recursiveSanitize(obj[key], options);
|
|
319
|
-
});
|
|
320
|
-
}
|
|
321
|
-
return obj;
|
|
322
|
-
};
|
|
323
|
-
try {
|
|
324
|
-
this._sanitized = recursiveSanitize(JSON.parse(yield this.getHttpContext().getRawBodyAsString(this.getWebda().getGlobalParams().requestLimit, this.getWebda().getGlobalParams().requestTimeout)), sanitizedOptions);
|
|
290
|
+
if (this._sanitized) {
|
|
291
|
+
return this._sanitized;
|
|
292
|
+
}
|
|
293
|
+
let recursiveSanitize = (obj, options = undefined) => {
|
|
294
|
+
if (typeof obj === "string") {
|
|
295
|
+
return sanitizeHtml(obj, options);
|
|
325
296
|
}
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
297
|
+
if (typeof obj === "object") {
|
|
298
|
+
Object.keys(obj).forEach(key => {
|
|
299
|
+
obj[key] = recursiveSanitize(obj[key], options);
|
|
300
|
+
});
|
|
329
301
|
}
|
|
330
|
-
return
|
|
331
|
-
}
|
|
302
|
+
return obj;
|
|
303
|
+
};
|
|
304
|
+
try {
|
|
305
|
+
this._sanitized = recursiveSanitize(JSON.parse(await this.getHttpContext().getRawBodyAsString(this.getWebda().getGlobalParams().requestLimit, this.getWebda().getGlobalParams().requestTimeout)), sanitizedOptions);
|
|
306
|
+
}
|
|
307
|
+
catch (err) {
|
|
308
|
+
this.log("ERROR", err, `Body: '${await this.getHttpContext().getRawBodyAsString()}'`);
|
|
309
|
+
return undefined;
|
|
310
|
+
}
|
|
311
|
+
return this._sanitized;
|
|
332
312
|
}
|
|
313
|
+
/**
|
|
314
|
+
* Get request body
|
|
315
|
+
* @returns
|
|
316
|
+
*/
|
|
333
317
|
getResponseBody() {
|
|
318
|
+
if (!this._body && this._stream instanceof WritableStreamBuffer) {
|
|
319
|
+
return this._stream.getContents();
|
|
320
|
+
}
|
|
334
321
|
return this._body;
|
|
335
322
|
}
|
|
336
323
|
/**
|
|
@@ -340,11 +327,25 @@ class Context extends events_1.EventEmitter {
|
|
|
340
327
|
* @returns
|
|
341
328
|
*/
|
|
342
329
|
getRequest() {
|
|
343
|
-
const
|
|
344
|
-
|
|
345
|
-
|
|
330
|
+
const stream = Readable.from([JSON.stringify(this.getRequestBody())]);
|
|
331
|
+
return {
|
|
332
|
+
httpVersionMajor: 1,
|
|
333
|
+
httpVersionMinor: 0,
|
|
334
|
+
headers: this.headers,
|
|
335
|
+
httpVersion: "1.0",
|
|
336
|
+
method: this.getHttpContext().getMethod(),
|
|
337
|
+
rawHeaders: [],
|
|
338
|
+
rawTrailers: [],
|
|
339
|
+
setTimeout: (msec, callback) => {
|
|
346
340
|
setTimeout(callback, msec);
|
|
347
|
-
},
|
|
341
|
+
},
|
|
342
|
+
socket: undefined,
|
|
343
|
+
statusCode: 200,
|
|
344
|
+
trailers: {},
|
|
345
|
+
url: this.getHttpContext().getUrl(),
|
|
346
|
+
connection: undefined,
|
|
347
|
+
...stream
|
|
348
|
+
};
|
|
348
349
|
}
|
|
349
350
|
/**
|
|
350
351
|
* Get a service from webda
|
|
@@ -365,24 +366,22 @@ class Context extends events_1.EventEmitter {
|
|
|
365
366
|
/**
|
|
366
367
|
* Get the current user from session
|
|
367
368
|
*/
|
|
368
|
-
getCurrentUser(refresh = false) {
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
return this.user;
|
|
378
|
-
});
|
|
369
|
+
async getCurrentUser(refresh = false) {
|
|
370
|
+
if (!this.getCurrentUserId()) {
|
|
371
|
+
return undefined;
|
|
372
|
+
}
|
|
373
|
+
// Caching the answer
|
|
374
|
+
if (!this.user || refresh) {
|
|
375
|
+
this.user = await this._webda.getService("Users").get(this.getCurrentUserId());
|
|
376
|
+
}
|
|
377
|
+
return this.user;
|
|
379
378
|
}
|
|
380
379
|
/**
|
|
381
380
|
* Get the current user id from session
|
|
382
381
|
*/
|
|
383
382
|
getCurrentUserId() {
|
|
384
383
|
if (this.session) {
|
|
385
|
-
return this.session.
|
|
384
|
+
return this.session.userId;
|
|
386
385
|
}
|
|
387
386
|
return undefined;
|
|
388
387
|
}
|
|
@@ -395,13 +394,11 @@ class Context extends events_1.EventEmitter {
|
|
|
395
394
|
/**
|
|
396
395
|
* Execute the target route
|
|
397
396
|
*/
|
|
398
|
-
execute() {
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
return Promise.reject(Error("Not implemented"));
|
|
404
|
-
});
|
|
397
|
+
async execute() {
|
|
398
|
+
if (this.getExecutor() && typeof this._route._method === "function") {
|
|
399
|
+
return Promise.resolve(this.getExecutor()[this._route._method.name](this));
|
|
400
|
+
}
|
|
401
|
+
return Promise.reject(Error("Not implemented"));
|
|
405
402
|
}
|
|
406
403
|
/**
|
|
407
404
|
* Return the webda
|
|
@@ -427,7 +424,7 @@ class Context extends events_1.EventEmitter {
|
|
|
427
424
|
*/
|
|
428
425
|
setRoute(route) {
|
|
429
426
|
this._route = route;
|
|
430
|
-
this.parameters =
|
|
427
|
+
this.parameters = { ...route.params, ...this.parameters };
|
|
431
428
|
}
|
|
432
429
|
getRoute() {
|
|
433
430
|
return this._route;
|
|
@@ -458,32 +455,41 @@ class Context extends events_1.EventEmitter {
|
|
|
458
455
|
* @returns
|
|
459
456
|
*/
|
|
460
457
|
hasFlushedHeaders() {
|
|
461
|
-
return this.
|
|
458
|
+
return this.headersFlushed;
|
|
462
459
|
}
|
|
463
460
|
/**
|
|
464
461
|
* Set flushed header status
|
|
465
462
|
* @param status
|
|
466
463
|
*/
|
|
467
464
|
setFlushedHeaders(status = true) {
|
|
468
|
-
this.
|
|
465
|
+
this.headersFlushed = status;
|
|
466
|
+
}
|
|
467
|
+
createStream() {
|
|
468
|
+
this._stream = new WritableStreamBuffer({
|
|
469
|
+
initialSize: 100 * 1024,
|
|
470
|
+
incrementAmount: 100 * 1024
|
|
471
|
+
});
|
|
469
472
|
}
|
|
473
|
+
/**
|
|
474
|
+
* Create a new session
|
|
475
|
+
* @returns
|
|
476
|
+
*/
|
|
470
477
|
newSession() {
|
|
471
|
-
this.session = new (this._webda.getModel(this._webda.parameter("sessionModel") || "Webda/
|
|
478
|
+
this.session = new (this._webda.getModel(this._webda.parameter("sessionModel") || "Webda/Session"))(this);
|
|
472
479
|
return this.session;
|
|
473
480
|
}
|
|
474
|
-
init() {
|
|
475
|
-
|
|
476
|
-
this.
|
|
477
|
-
|
|
478
|
-
this._webda.flushHeaders(this);
|
|
479
|
-
});
|
|
480
|
-
yield this.session.init();
|
|
481
|
-
return this;
|
|
481
|
+
async init() {
|
|
482
|
+
this._stream.on("pipe", () => {
|
|
483
|
+
this._webda.flushHeaders(this);
|
|
484
|
+
this.headersFlushed = true;
|
|
482
485
|
});
|
|
486
|
+
if (this.getExtension("http")) {
|
|
487
|
+
this.session = (await this._webda.getService("SessionManager").load(this)).getProxy();
|
|
488
|
+
}
|
|
489
|
+
return this;
|
|
483
490
|
}
|
|
484
491
|
emitError(err) {
|
|
485
492
|
this.emit("error", err);
|
|
486
493
|
}
|
|
487
494
|
}
|
|
488
|
-
exports.Context = Context;
|
|
489
495
|
//# sourceMappingURL=context.js.map
|
package/lib/utils/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/utils/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/utils/context.ts"],"names":[],"mappings":"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"}
|