@webda/core 1.6.0-beta.3 → 2.0.0-beta.2
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 +355 -195
- package/lib/application.js +188 -682
- package/lib/application.js.map +1 -1
- package/lib/application.spec.js +109 -289
- package/lib/application.spec.js.map +1 -1
- package/lib/core.d.ts +150 -215
- package/lib/core.js +188 -71
- package/lib/core.js.map +1 -1
- package/lib/core.spec.js +103 -42
- package/lib/core.spec.js.map +1 -1
- package/lib/index.d.ts +4 -0
- package/lib/index.js +9 -1
- package/lib/index.js.map +1 -1
- package/lib/models/aclmodel.d.ts +3 -1
- package/lib/models/aclmodel.js +6 -3
- package/lib/models/aclmodel.js.map +1 -1
- package/lib/models/aclmodel.spec.js +10 -5
- package/lib/models/aclmodel.spec.js.map +1 -1
- package/lib/models/coremodel.d.ts +86 -24
- package/lib/models/coremodel.js +85 -36
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/coremodel.spec.js +21 -2
- package/lib/models/coremodel.spec.js.map +1 -1
- package/lib/models/ident.d.ts +7 -5
- package/lib/models/ident.js +2 -1
- package/lib/models/ident.js.map +1 -1
- package/lib/models/ident.spec.js +1 -1
- package/lib/models/ident.spec.js.map +1 -1
- package/lib/models/ownermodel.d.ts +18 -4
- package/lib/models/ownermodel.js +24 -4
- package/lib/models/ownermodel.js.map +1 -1
- package/lib/models/ownermodel.spec.js +18 -1
- package/lib/models/ownermodel.spec.js.map +1 -1
- package/lib/models/rolemodel.js.map +1 -1
- package/lib/models/rolemodel.spec.js +5 -2
- package/lib/models/rolemodel.spec.js.map +1 -1
- package/lib/models/user.d.ts +7 -6
- package/lib/models/user.js +2 -1
- package/lib/models/user.js.map +1 -1
- package/lib/models/user.spec.js +1 -1
- package/lib/models/user.spec.js.map +1 -1
- package/lib/queues/filequeue.d.ts +2 -7
- package/lib/queues/filequeue.js +4 -13
- package/lib/queues/filequeue.js.map +1 -1
- package/lib/queues/filequeue.spec.js +2 -3
- package/lib/queues/filequeue.spec.js.map +1 -1
- package/lib/queues/memoryqueue.d.ts +2 -7
- package/lib/queues/memoryqueue.js +1 -11
- package/lib/queues/memoryqueue.js.map +1 -1
- package/lib/queues/memoryqueue.spec.js +1 -1
- package/lib/queues/memoryqueue.spec.js.map +1 -1
- package/lib/queues/queue.spec.d.ts +1 -1
- package/lib/queues/queue.spec.js +12 -10
- package/lib/queues/queue.spec.js.map +1 -1
- package/lib/queues/queueservice.d.ts +1 -1
- package/lib/queues/queueservice.js +1 -1
- package/lib/queues/queueservice.js.map +1 -1
- package/lib/router.d.ts +52 -2
- package/lib/router.js +80 -51
- package/lib/router.js.map +1 -1
- package/lib/router.spec.js +23 -6
- package/lib/router.spec.js.map +1 -1
- package/lib/services/asyncevents.d.ts +1 -0
- package/lib/services/asyncevents.js +4 -3
- package/lib/services/asyncevents.js.map +1 -1
- package/lib/services/asyncevents.spec.js +2 -2
- package/lib/services/asyncevents.spec.js.map +1 -1
- package/lib/services/authentication.d.ts +39 -11
- package/lib/services/authentication.js +60 -55
- package/lib/services/authentication.js.map +1 -1
- package/lib/services/authentication.spec.js +2 -1
- package/lib/services/authentication.spec.js.map +1 -1
- package/lib/services/binary.d.ts +127 -65
- package/lib/services/binary.js +255 -98
- package/lib/services/binary.js.map +1 -1
- package/lib/services/binary.spec.d.ts +2 -1
- package/lib/services/binary.spec.js +101 -30
- package/lib/services/binary.spec.js.map +1 -1
- package/lib/services/cloudbinary.d.ts +67 -0
- package/lib/services/cloudbinary.js +178 -0
- package/lib/services/cloudbinary.js.map +1 -0
- package/lib/services/cloudbinary.spec.d.ts +13 -0
- package/lib/services/cloudbinary.spec.js +212 -0
- package/lib/services/cloudbinary.spec.js.map +1 -0
- package/lib/services/configuration.d.ts +7 -2
- package/lib/services/configuration.js +6 -5
- package/lib/services/configuration.js.map +1 -1
- package/lib/services/configuration.spec.js +3 -2
- package/lib/services/configuration.spec.js.map +1 -1
- package/lib/services/cron.d.ts +5 -6
- package/lib/services/cron.js +5 -12
- package/lib/services/cron.js.map +1 -1
- package/lib/services/cron.spec.js +3 -4
- package/lib/services/cron.spec.js.map +1 -1
- package/lib/services/debugmailer.d.ts +3 -5
- package/lib/services/debugmailer.js +3 -11
- package/lib/services/debugmailer.js.map +1 -1
- package/lib/services/debugmailer.spec.js +1 -1
- package/lib/services/debugmailer.spec.js.map +1 -1
- package/lib/services/echo.d.ts +3 -7
- package/lib/services/echo.js +1 -11
- package/lib/services/echo.js.map +1 -1
- package/lib/services/echo.spec.js +4 -3
- package/lib/services/echo.spec.js.map +1 -1
- package/lib/services/filebinary.d.ts +45 -16
- package/lib/services/filebinary.js +147 -50
- package/lib/services/filebinary.js.map +1 -1
- package/lib/services/filebinary.spec.d.ts +4 -2
- package/lib/services/filebinary.spec.js +50 -12
- package/lib/services/filebinary.spec.js.map +1 -1
- package/lib/services/fileconfiguration.d.ts +1 -5
- package/lib/services/fileconfiguration.js +3 -12
- package/lib/services/fileconfiguration.js.map +1 -1
- package/lib/services/fileconfiguration.spec.js +2 -2
- package/lib/services/fileconfiguration.spec.js.map +1 -1
- package/lib/services/invitationservice.d.ts +28 -4
- package/lib/services/invitationservice.js +9 -6
- package/lib/services/invitationservice.js.map +1 -1
- package/lib/services/invitationservice.spec.js +4 -3
- package/lib/services/invitationservice.spec.js.map +1 -1
- package/lib/services/kubernetesconfiguration.d.ts +3 -5
- package/lib/services/kubernetesconfiguration.js +7 -14
- package/lib/services/kubernetesconfiguration.js.map +1 -1
- package/lib/services/kubernetesconfiguration.spec.js +5 -5
- package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
- package/lib/services/mailer.d.ts +1 -5
- package/lib/services/mailer.js +1 -10
- package/lib/services/mailer.js.map +1 -1
- package/lib/services/mailer.spec.js +3 -3
- package/lib/services/mailer.spec.js.map +1 -1
- package/lib/services/notificationservice.d.ts +2 -0
- package/lib/services/notificationservice.js +2 -0
- package/lib/services/notificationservice.js.map +1 -1
- package/lib/services/notificationservice.spec.js +2 -2
- package/lib/services/notificationservice.spec.js.map +1 -1
- package/lib/services/oauth.d.ts +8 -6
- package/lib/services/oauth.js +30 -14
- package/lib/services/oauth.js.map +1 -1
- package/lib/services/oauth.spec.js +11 -10
- package/lib/services/oauth.spec.js.map +1 -1
- package/lib/services/resource.d.ts +18 -5
- package/lib/services/resource.js +42 -23
- package/lib/services/resource.js.map +1 -1
- package/lib/services/resource.spec.js +4 -4
- package/lib/services/resource.spec.js.map +1 -1
- package/lib/services/service.d.ts +25 -25
- package/lib/services/service.js +21 -25
- package/lib/services/service.js.map +1 -1
- package/lib/services/service.spec.js +2 -2
- package/lib/services/service.spec.js.map +1 -1
- package/lib/services/version.d.ts +2 -5
- package/lib/services/version.js +1 -10
- package/lib/services/version.js.map +1 -1
- package/lib/services/version.spec.js +1 -1
- package/lib/services/version.spec.js.map +1 -1
- package/lib/stores/aggregator.d.ts +3 -5
- package/lib/stores/aggregator.js +3 -10
- package/lib/stores/aggregator.js.map +1 -1
- package/lib/stores/file.d.ts +15 -8
- package/lib/stores/file.js +21 -18
- package/lib/stores/file.js.map +1 -1
- package/lib/stores/file.spec.d.ts +3 -1
- package/lib/stores/file.spec.js +32 -8
- package/lib/stores/file.spec.js.map +1 -1
- package/lib/stores/mapper.d.ts +1 -5
- package/lib/stores/mapper.js +5 -13
- package/lib/stores/mapper.js.map +1 -1
- package/lib/stores/mapper.spec.js +2 -2
- package/lib/stores/mapper.spec.js.map +1 -1
- package/lib/stores/memory.d.ts +5 -9
- package/lib/stores/memory.js +5 -17
- package/lib/stores/memory.js.map +1 -1
- package/lib/stores/memory.spec.d.ts +2 -1
- package/lib/stores/memory.spec.js +36 -4
- package/lib/stores/memory.spec.js.map +1 -1
- package/lib/stores/store.d.ts +142 -29
- package/lib/stores/store.js +451 -82
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.d.ts +31 -4
- package/lib/stores/store.spec.js +206 -35
- package/lib/stores/store.spec.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLLexer.d.ts +53 -0
- package/lib/stores/webdaql/WebdaQLLexer.js +290 -0
- package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -0
- package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +53 -0
- package/lib/stores/webdaql/WebdaQLParserLexer.js +290 -0
- package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -0
- package/lib/stores/webdaql/WebdaQLParserListener.d.ts +284 -0
- package/lib/stores/webdaql/WebdaQLParserListener.js +4 -0
- package/lib/stores/webdaql/WebdaQLParserListener.js.map +1 -0
- package/lib/stores/webdaql/WebdaQLParserParser.d.ts +301 -0
- package/lib/stores/webdaql/WebdaQLParserParser.js +1781 -0
- package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -0
- package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +174 -0
- package/lib/stores/webdaql/WebdaQLParserVisitor.js +4 -0
- package/lib/stores/webdaql/WebdaQLParserVisitor.js.map +1 -0
- package/lib/stores/webdaql/query.d.ts +300 -0
- package/lib/stores/webdaql/query.js +471 -0
- package/lib/stores/webdaql/query.js.map +1 -0
- package/lib/stores/webdaql/query.spec.d.ts +1 -0
- package/lib/stores/webdaql/query.spec.js +136 -0
- package/lib/stores/webdaql/query.spec.js.map +1 -0
- package/lib/test.d.ts +54 -9
- package/lib/test.js +139 -25
- package/lib/test.js.map +1 -1
- package/lib/unpackedapplication.d.ts +66 -0
- package/lib/unpackedapplication.js +219 -0
- package/lib/unpackedapplication.js.map +1 -0
- package/lib/utils/abstractdeployer.spec.js +1 -1
- package/lib/utils/abstractdeployer.spec.js.map +1 -1
- package/lib/utils/context.d.ts +17 -58
- package/lib/utils/context.js +33 -124
- package/lib/utils/context.js.map +1 -1
- package/lib/utils/context.spec.js +52 -28
- package/lib/utils/context.spec.js.map +1 -1
- package/lib/utils/cookie.d.ts +6 -3
- package/lib/utils/cookie.js +9 -5
- package/lib/utils/cookie.js.map +1 -1
- package/lib/utils/cookie.spec.js +5 -5
- package/lib/utils/cookie.spec.js.map +1 -1
- package/lib/utils/httpcontext.d.ts +182 -0
- package/lib/utils/httpcontext.js +325 -0
- package/lib/utils/httpcontext.js.map +1 -0
- package/lib/utils/httpcontext.spec.d.ts +5 -0
- package/lib/utils/httpcontext.spec.js +90 -0
- package/lib/utils/httpcontext.spec.js.map +1 -0
- package/lib/utils/logger.d.ts +18 -5
- package/lib/utils/logger.js +17 -4
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/logger.spec.js.map +1 -1
- package/lib/utils/serializers.js +5 -1
- package/lib/utils/serializers.js.map +1 -1
- package/lib/utils/serializers.spec.js +3 -3
- package/lib/utils/serializers.spec.js.map +1 -1
- package/lib/utils/waiter.d.ts +1 -1
- package/lib/utils/waiter.js.map +1 -1
- package/lib/utils/waiter.spec.js +2 -2
- package/lib/utils/waiter.spec.js.map +1 -1
- package/package.json +25 -18
- package/test/config-file-no-reload.json +2 -1
- package/test/config-file-reload.json +2 -1
- package/test/config-kube-reload.json +2 -1
- package/test/config-reload.json +1 -1
- package/test/config.json +8 -11
- package/test/config.old.json +1 -1
- package/test/moddas/annotatedservice.js +1 -3
- package/test/moddas/debugmailer.js +2 -7
- package/test/moddas/fakeservice.js +1 -1
- package/test/moddas/voidstore.js +2 -4
- package/test/models/ident.js +1 -1
- package/test/models/task.js +1 -6
- package/webda.module.json +1124 -0
- package/test/config.old-default.json +0 -151
package/lib/utils/cookie.d.ts
CHANGED
|
@@ -13,8 +13,9 @@ import { Context } from "./context";
|
|
|
13
13
|
* You cannot store variables starting with _ in the session if you do use them they won't be persist, so it can be used to add some context
|
|
14
14
|
*
|
|
15
15
|
* @category CoreFeatures
|
|
16
|
+
* @WebdaModel
|
|
16
17
|
*/
|
|
17
|
-
declare class SecureCookie {
|
|
18
|
+
export declare class SecureCookie {
|
|
18
19
|
_name: string;
|
|
19
20
|
_algo: string;
|
|
20
21
|
_secret: string;
|
|
@@ -43,7 +44,10 @@ declare class SecureCookie {
|
|
|
43
44
|
}): void;
|
|
44
45
|
needSave(): boolean;
|
|
45
46
|
}
|
|
46
|
-
|
|
47
|
+
/**
|
|
48
|
+
* @WebdaModel
|
|
49
|
+
*/
|
|
50
|
+
export declare class SessionCookie extends SecureCookie {
|
|
47
51
|
constructor(ctx: Context);
|
|
48
52
|
userId: string;
|
|
49
53
|
identUsed: string;
|
|
@@ -67,4 +71,3 @@ declare class SessionCookie extends SecureCookie {
|
|
|
67
71
|
needSave(): boolean;
|
|
68
72
|
init(): Promise<void>;
|
|
69
73
|
}
|
|
70
|
-
export { SecureCookie, SessionCookie };
|
package/lib/utils/cookie.js
CHANGED
|
@@ -10,9 +10,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.SessionCookie = exports.SecureCookie = void 0;
|
|
13
|
+
const cookie_1 = require("cookie");
|
|
13
14
|
const jwt = require("jsonwebtoken");
|
|
14
15
|
const core_1 = require("../core");
|
|
15
|
-
const cookie_1 = require("cookie");
|
|
16
16
|
/**
|
|
17
17
|
* Cookie cannot be more than 4096, so we split them by this constant
|
|
18
18
|
* @hidden
|
|
@@ -32,6 +32,7 @@ const SPLIT = 4096;
|
|
|
32
32
|
* You cannot store variables starting with _ in the session if you do use them they won't be persist, so it can be used to add some context
|
|
33
33
|
*
|
|
34
34
|
* @category CoreFeatures
|
|
35
|
+
* @WebdaModel
|
|
35
36
|
*/
|
|
36
37
|
class SecureCookie {
|
|
37
38
|
/** @ignore */
|
|
@@ -117,9 +118,9 @@ class SecureCookie {
|
|
|
117
118
|
}
|
|
118
119
|
var params = {
|
|
119
120
|
path: "/",
|
|
120
|
-
domain: ctx.getHttpContext().
|
|
121
|
+
domain: ctx.getHttpContext().getHostName(),
|
|
121
122
|
httpOnly: true,
|
|
122
|
-
secure: ctx.getHttpContext().getProtocol()
|
|
123
|
+
secure: ctx.getHttpContext().getProtocol() === "https:",
|
|
123
124
|
maxAge: 86400 * 7,
|
|
124
125
|
sameSite: "Lax"
|
|
125
126
|
};
|
|
@@ -128,7 +129,7 @@ class SecureCookie {
|
|
|
128
129
|
if (cookie !== undefined) {
|
|
129
130
|
params = Object.assign(Object.assign({}, params), cookie);
|
|
130
131
|
}
|
|
131
|
-
let value = jwt.sign(JSON.
|
|
132
|
+
let value = jwt.sign(JSON.stringify(this), this._secret);
|
|
132
133
|
this.sendCookie(ctx, this._name, value, params);
|
|
133
134
|
// Transform the cookie to a plain object
|
|
134
135
|
}
|
|
@@ -153,7 +154,7 @@ class SecureCookie {
|
|
|
153
154
|
cookieName = `${name}${j}`;
|
|
154
155
|
limit--;
|
|
155
156
|
}
|
|
156
|
-
ctx.cookie(cookieName, value.
|
|
157
|
+
ctx.cookie(cookieName, value.substring(i, i + limit), params);
|
|
157
158
|
j++;
|
|
158
159
|
i += limit;
|
|
159
160
|
}
|
|
@@ -163,6 +164,9 @@ class SecureCookie {
|
|
|
163
164
|
}
|
|
164
165
|
}
|
|
165
166
|
exports.SecureCookie = SecureCookie;
|
|
167
|
+
/**
|
|
168
|
+
* @WebdaModel
|
|
169
|
+
*/
|
|
166
170
|
class SessionCookie extends SecureCookie {
|
|
167
171
|
constructor(ctx) {
|
|
168
172
|
super(ctx.getWebda().parameter("sessionName") || "webda", {
|
package/lib/utils/cookie.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../src/utils/cookie.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAAoC;AACpC,kCAAqC;
|
|
1
|
+
{"version":3,"file":"cookie.js","sourceRoot":"","sources":["../../src/utils/cookie.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/cookie.spec.js
CHANGED
|
@@ -15,14 +15,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
15
15
|
});
|
|
16
16
|
};
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
const test_1 = require("../test");
|
|
19
|
-
const index_1 = require("../index");
|
|
20
|
-
const context_1 = require("./context");
|
|
21
18
|
const mocha_1 = require("@testdeck/mocha");
|
|
22
19
|
const assert = require("assert");
|
|
23
20
|
const cookie_1 = require("cookie");
|
|
24
|
-
const cookie_2 = require("./cookie");
|
|
25
21
|
const sinon = require("sinon");
|
|
22
|
+
const index_1 = require("../index");
|
|
23
|
+
const test_1 = require("../test");
|
|
24
|
+
const cookie_2 = require("./cookie");
|
|
25
|
+
const httpcontext_1 = require("./httpcontext");
|
|
26
26
|
const SECRET = "Lp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5ENLp4B72FPU5n6q4EpVRGyPFnZp5cgLRPScVWixW52Yq84hD4MmnfVfgxKQ5EN";
|
|
27
27
|
let CookieTest = class CookieTest extends test_1.WebdaTest {
|
|
28
28
|
before() {
|
|
@@ -31,7 +31,7 @@ let CookieTest = class CookieTest extends test_1.WebdaTest {
|
|
|
31
31
|
});
|
|
32
32
|
return __awaiter(this, void 0, void 0, function* () {
|
|
33
33
|
yield _super.before.call(this);
|
|
34
|
-
this._ctx = yield this.webda.newContext(new
|
|
34
|
+
this._ctx = yield this.webda.newContext(new httpcontext_1.HttpContext("test.webda.io", "GET", "/"));
|
|
35
35
|
this.webda.updateContextWithRoute(this._ctx);
|
|
36
36
|
});
|
|
37
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookie.spec.js","sourceRoot":"","sources":["../../src/utils/cookie.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"cookie.spec.js","sourceRoot":"","sources":["../../src/utils/cookie.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { IncomingHttpHeaders } from "http";
|
|
3
|
+
import { Readable } from "stream";
|
|
4
|
+
export declare type HttpMethodType = "GET" | "OPTIONS" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
5
|
+
declare type HeadersRequest = IncomingHttpHeaders & {
|
|
6
|
+
[headerName: `x-${string}`]: string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* The HttpContext
|
|
10
|
+
*
|
|
11
|
+
* It has similar properties than URL
|
|
12
|
+
*
|
|
13
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/URL_API
|
|
14
|
+
*
|
|
15
|
+
* @category CoreFeatures
|
|
16
|
+
*/
|
|
17
|
+
export declare class HttpContext {
|
|
18
|
+
/**
|
|
19
|
+
* Hostname
|
|
20
|
+
*
|
|
21
|
+
* @example test.webda.io
|
|
22
|
+
*/
|
|
23
|
+
hostname: string;
|
|
24
|
+
/**
|
|
25
|
+
* HTTP Method
|
|
26
|
+
*/
|
|
27
|
+
method: HttpMethodType;
|
|
28
|
+
/**
|
|
29
|
+
* Pathname
|
|
30
|
+
*/
|
|
31
|
+
uri: string;
|
|
32
|
+
/**
|
|
33
|
+
* Get the client ip if available
|
|
34
|
+
*/
|
|
35
|
+
clientIp: string;
|
|
36
|
+
path: string;
|
|
37
|
+
search: string;
|
|
38
|
+
protocol: "http:" | "https:";
|
|
39
|
+
port: string;
|
|
40
|
+
headers: HeadersRequest;
|
|
41
|
+
origin: string;
|
|
42
|
+
host: string;
|
|
43
|
+
body: Buffer | Readable | undefined;
|
|
44
|
+
cookies: any;
|
|
45
|
+
/**
|
|
46
|
+
* URI prefix in case it is exposed through something that prefix the uri
|
|
47
|
+
*/
|
|
48
|
+
prefix: string;
|
|
49
|
+
constructor(hostname: string, method: HttpMethodType, uri: string, protocol?: "http" | "https", port?: number | string, headers?: {
|
|
50
|
+
[key: string]: string | string[];
|
|
51
|
+
});
|
|
52
|
+
/**
|
|
53
|
+
* Set the client ip
|
|
54
|
+
*/
|
|
55
|
+
setClientIp(ip: string): this;
|
|
56
|
+
/**
|
|
57
|
+
* Get the client ip
|
|
58
|
+
*/
|
|
59
|
+
getClientIp(): string;
|
|
60
|
+
/**
|
|
61
|
+
*
|
|
62
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/URL/href
|
|
63
|
+
* @returns
|
|
64
|
+
*/
|
|
65
|
+
getHref(): string;
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* @param prefix uri to not consider
|
|
69
|
+
*/
|
|
70
|
+
setPrefix(prefix: string): void;
|
|
71
|
+
/**
|
|
72
|
+
* Return Uri without prefix
|
|
73
|
+
*/
|
|
74
|
+
getRelativeUri(): string;
|
|
75
|
+
/**
|
|
76
|
+
* Get full URI
|
|
77
|
+
* @returns
|
|
78
|
+
*/
|
|
79
|
+
getUrl(): string;
|
|
80
|
+
/**
|
|
81
|
+
* Get cookies
|
|
82
|
+
* @returns
|
|
83
|
+
*/
|
|
84
|
+
getCookies(): any;
|
|
85
|
+
/**
|
|
86
|
+
* Get port number as string
|
|
87
|
+
*
|
|
88
|
+
* If http on port 80, or https on port 443 will return ""
|
|
89
|
+
*/
|
|
90
|
+
getPort(): string;
|
|
91
|
+
/**
|
|
92
|
+
* Get the port number
|
|
93
|
+
*/
|
|
94
|
+
getPortNumber(): number;
|
|
95
|
+
/**
|
|
96
|
+
* Return hostname and port
|
|
97
|
+
* @returns
|
|
98
|
+
*/
|
|
99
|
+
getHost(): string;
|
|
100
|
+
/**
|
|
101
|
+
* Return protocol, hostname and port
|
|
102
|
+
* @returns
|
|
103
|
+
*/
|
|
104
|
+
getOrigin(): string;
|
|
105
|
+
/**
|
|
106
|
+
* Get the hostname
|
|
107
|
+
* @returns
|
|
108
|
+
*/
|
|
109
|
+
getHostName(): string;
|
|
110
|
+
/**
|
|
111
|
+
* Get HTTP Method used
|
|
112
|
+
* @returns
|
|
113
|
+
*/
|
|
114
|
+
getMethod(): HttpMethodType;
|
|
115
|
+
/**
|
|
116
|
+
* Get protocol used
|
|
117
|
+
* @returns
|
|
118
|
+
*/
|
|
119
|
+
getProtocol(): "http:" | "https:";
|
|
120
|
+
/**
|
|
121
|
+
* Get the raw body as string
|
|
122
|
+
*
|
|
123
|
+
* @param limit the size of readable request
|
|
124
|
+
* @param timeout the time to read the request
|
|
125
|
+
* @param encoding to analyze
|
|
126
|
+
* @returns
|
|
127
|
+
*/
|
|
128
|
+
getRawBodyAsString(limit?: number, timeout?: number, encoding?: string): Promise<string>;
|
|
129
|
+
/**
|
|
130
|
+
* Get request body
|
|
131
|
+
*
|
|
132
|
+
* @param limit the size of readable request
|
|
133
|
+
* @param timeout the time to read the request
|
|
134
|
+
* @returns
|
|
135
|
+
*/
|
|
136
|
+
getRawBody(limit?: number, timeout?: number): Promise<Buffer | undefined>;
|
|
137
|
+
/**
|
|
138
|
+
* Get the body as stream
|
|
139
|
+
*/
|
|
140
|
+
getRawStream(): Readable;
|
|
141
|
+
/**
|
|
142
|
+
* Get HTTP Headers
|
|
143
|
+
* @returns
|
|
144
|
+
*/
|
|
145
|
+
getHeaders(): Readonly<IncomingHttpHeaders>;
|
|
146
|
+
/**
|
|
147
|
+
* Get header value
|
|
148
|
+
* @param name
|
|
149
|
+
* @param def
|
|
150
|
+
* @returns
|
|
151
|
+
*/
|
|
152
|
+
getHeader(name: string, def?: string): string | string[];
|
|
153
|
+
/**
|
|
154
|
+
* Return the last header found with that name
|
|
155
|
+
*/
|
|
156
|
+
getUniqueHeader(name: string, def?: string): string;
|
|
157
|
+
/**
|
|
158
|
+
* Used for test
|
|
159
|
+
* @param body
|
|
160
|
+
*/
|
|
161
|
+
setBody(body: Buffer | string | Readable | any): void;
|
|
162
|
+
/**
|
|
163
|
+
* Get request path name
|
|
164
|
+
*
|
|
165
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/URL/pathname
|
|
166
|
+
* @returns
|
|
167
|
+
*/
|
|
168
|
+
getPathName(): string;
|
|
169
|
+
/**
|
|
170
|
+
* Get search section
|
|
171
|
+
*
|
|
172
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/URL/search
|
|
173
|
+
* @returns
|
|
174
|
+
*/
|
|
175
|
+
getSearch(): string;
|
|
176
|
+
/**
|
|
177
|
+
*
|
|
178
|
+
* @param uri to return absolute url from
|
|
179
|
+
*/
|
|
180
|
+
getAbsoluteUrl(uri?: string): string;
|
|
181
|
+
}
|
|
182
|
+
export {};
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
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");
|
|
15
|
+
/**
|
|
16
|
+
* The HttpContext
|
|
17
|
+
*
|
|
18
|
+
* It has similar properties than URL
|
|
19
|
+
*
|
|
20
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/URL_API
|
|
21
|
+
*
|
|
22
|
+
* @category CoreFeatures
|
|
23
|
+
*/
|
|
24
|
+
class HttpContext {
|
|
25
|
+
constructor(hostname, method, uri, protocol = "http", port = "80", headers = {}) {
|
|
26
|
+
/**
|
|
27
|
+
* URI prefix in case it is exposed through something that prefix the uri
|
|
28
|
+
*/
|
|
29
|
+
this.prefix = "";
|
|
30
|
+
this.hostname = hostname;
|
|
31
|
+
this.method = method;
|
|
32
|
+
this.uri = uri;
|
|
33
|
+
[this.path, this.search] = uri.split("?");
|
|
34
|
+
if (this.search) {
|
|
35
|
+
this.search = "?" + this.search;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
this.search = "";
|
|
39
|
+
}
|
|
40
|
+
// @ts-ignore
|
|
41
|
+
this.protocol = protocol + ":";
|
|
42
|
+
this.port = port.toString();
|
|
43
|
+
this.headers = {};
|
|
44
|
+
for (let i in headers) {
|
|
45
|
+
if (i.toLowerCase() === "cookie") {
|
|
46
|
+
this.cookies = Array.isArray(headers[i])
|
|
47
|
+
? headers[i].map(c => (0, cookie_1.parse)(c))
|
|
48
|
+
: (0, cookie_1.parse)(headers[i]);
|
|
49
|
+
}
|
|
50
|
+
this.headers[i.toLowerCase()] = headers[i];
|
|
51
|
+
}
|
|
52
|
+
let portUrl = "";
|
|
53
|
+
if (port !== undefined &&
|
|
54
|
+
((this.port !== "80" && protocol === "http") || (this.port !== "443" && protocol === "https"))) {
|
|
55
|
+
portUrl = ":" + port;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
this.port = "";
|
|
59
|
+
}
|
|
60
|
+
this.origin = this.protocol + "//" + this.hostname + portUrl;
|
|
61
|
+
this.host = this.hostname + portUrl;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Set the client ip
|
|
65
|
+
*/
|
|
66
|
+
setClientIp(ip) {
|
|
67
|
+
this.clientIp = ip;
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get the client ip
|
|
72
|
+
*/
|
|
73
|
+
getClientIp() {
|
|
74
|
+
return this.clientIp;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
*
|
|
78
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/URL/href
|
|
79
|
+
* @returns
|
|
80
|
+
*/
|
|
81
|
+
getHref() {
|
|
82
|
+
return this.getAbsoluteUrl();
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
*
|
|
86
|
+
* @param prefix uri to not consider
|
|
87
|
+
*/
|
|
88
|
+
setPrefix(prefix) {
|
|
89
|
+
if (prefix.endsWith("/")) {
|
|
90
|
+
prefix = prefix.substring(0, prefix.length - 1);
|
|
91
|
+
}
|
|
92
|
+
this.prefix = prefix;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Return Uri without prefix
|
|
96
|
+
*/
|
|
97
|
+
getRelativeUri() {
|
|
98
|
+
return this.uri.substring(this.prefix.length);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Get full URI
|
|
102
|
+
* @returns
|
|
103
|
+
*/
|
|
104
|
+
getUrl() {
|
|
105
|
+
return this.uri;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Get cookies
|
|
109
|
+
* @returns
|
|
110
|
+
*/
|
|
111
|
+
getCookies() {
|
|
112
|
+
return this.cookies;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Get port number as string
|
|
116
|
+
*
|
|
117
|
+
* If http on port 80, or https on port 443 will return ""
|
|
118
|
+
*/
|
|
119
|
+
getPort() {
|
|
120
|
+
return this.port;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Get the port number
|
|
124
|
+
*/
|
|
125
|
+
getPortNumber() {
|
|
126
|
+
if (this.port) {
|
|
127
|
+
return Number.parseInt(this.port);
|
|
128
|
+
}
|
|
129
|
+
if (this.protocol === "https:") {
|
|
130
|
+
return 443;
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
return 80;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Return hostname and port
|
|
138
|
+
* @returns
|
|
139
|
+
*/
|
|
140
|
+
getHost() {
|
|
141
|
+
return this.host;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Return protocol, hostname and port
|
|
145
|
+
* @returns
|
|
146
|
+
*/
|
|
147
|
+
getOrigin() {
|
|
148
|
+
return this.origin;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Get the hostname
|
|
152
|
+
* @returns
|
|
153
|
+
*/
|
|
154
|
+
getHostName() {
|
|
155
|
+
return this.hostname;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Get HTTP Method used
|
|
159
|
+
* @returns
|
|
160
|
+
*/
|
|
161
|
+
getMethod() {
|
|
162
|
+
return this.method;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Get protocol used
|
|
166
|
+
* @returns
|
|
167
|
+
*/
|
|
168
|
+
getProtocol() {
|
|
169
|
+
return this.protocol;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Get the raw body as string
|
|
173
|
+
*
|
|
174
|
+
* @param limit the size of readable request
|
|
175
|
+
* @param timeout the time to read the request
|
|
176
|
+
* @param encoding to analyze
|
|
177
|
+
* @returns
|
|
178
|
+
*/
|
|
179
|
+
getRawBodyAsString(limit = 1024 * 1024 * 10, timeout = 60000, encoding) {
|
|
180
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
181
|
+
// Get charset from header
|
|
182
|
+
if (!encoding) {
|
|
183
|
+
let match = this.getUniqueHeader("content-type", "charset=utf-8").match(/charset=([^;\s]+)/);
|
|
184
|
+
if (match) {
|
|
185
|
+
encoding = match[1].trim();
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
encoding = "utf-8";
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
if (encoding !== "utf-8") {
|
|
192
|
+
throw new Error("Only UTF-8 is currently managed: https://github.com/loopingz/webda.io/issues/221");
|
|
193
|
+
}
|
|
194
|
+
return (yield this.getRawBody(limit, timeout)).toString(encoding);
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Get request body
|
|
199
|
+
*
|
|
200
|
+
* @param limit the size of readable request
|
|
201
|
+
* @param timeout the time to read the request
|
|
202
|
+
* @returns
|
|
203
|
+
*/
|
|
204
|
+
getRawBody(limit = 1024 * 1024 * 10, timeout = 60000) {
|
|
205
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
206
|
+
if (this.body instanceof stream_1.Readable) {
|
|
207
|
+
return new Promise((resolve, reject) => {
|
|
208
|
+
let req = this.body;
|
|
209
|
+
let body = [];
|
|
210
|
+
let timeoutId = setTimeout(() => {
|
|
211
|
+
reject("Request timeout");
|
|
212
|
+
}, timeout);
|
|
213
|
+
req.on("readable", () => {
|
|
214
|
+
let chunk = req.read();
|
|
215
|
+
if (chunk !== null) {
|
|
216
|
+
if (chunk.length + body.length > limit) {
|
|
217
|
+
clearTimeout(timeoutId);
|
|
218
|
+
reject("Request oversized");
|
|
219
|
+
}
|
|
220
|
+
body.push(chunk);
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
req.on("end", () => {
|
|
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
|
+
});
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
return this.body;
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Get the body as stream
|
|
238
|
+
*/
|
|
239
|
+
getRawStream() {
|
|
240
|
+
if (this.body instanceof stream_1.Readable) {
|
|
241
|
+
return this.body;
|
|
242
|
+
}
|
|
243
|
+
return stream_1.Readable.from(this.body);
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Get HTTP Headers
|
|
247
|
+
* @returns
|
|
248
|
+
*/
|
|
249
|
+
getHeaders() {
|
|
250
|
+
return this.headers;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Get header value
|
|
254
|
+
* @param name
|
|
255
|
+
* @param def
|
|
256
|
+
* @returns
|
|
257
|
+
*/
|
|
258
|
+
getHeader(name, def) {
|
|
259
|
+
return this.headers[name.toLowerCase()] || def;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Return the last header found with that name
|
|
263
|
+
*/
|
|
264
|
+
getUniqueHeader(name, def) {
|
|
265
|
+
let header = this.getHeader(name, def);
|
|
266
|
+
if (Array.isArray(header)) {
|
|
267
|
+
return header.pop() || def;
|
|
268
|
+
}
|
|
269
|
+
return header || def;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Used for test
|
|
273
|
+
* @param body
|
|
274
|
+
*/
|
|
275
|
+
setBody(body) {
|
|
276
|
+
if (body instanceof stream_1.Readable || body instanceof Buffer) {
|
|
277
|
+
this.body = body;
|
|
278
|
+
}
|
|
279
|
+
else if (typeof body === "string") {
|
|
280
|
+
this.body = Buffer.from(body);
|
|
281
|
+
}
|
|
282
|
+
else if (body === undefined) {
|
|
283
|
+
this.body = undefined;
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
286
|
+
this.body = Buffer.from(JSON.stringify(body));
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Get request path name
|
|
291
|
+
*
|
|
292
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/URL/pathname
|
|
293
|
+
* @returns
|
|
294
|
+
*/
|
|
295
|
+
getPathName() {
|
|
296
|
+
return this.path;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Get search section
|
|
300
|
+
*
|
|
301
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/URL/search
|
|
302
|
+
* @returns
|
|
303
|
+
*/
|
|
304
|
+
getSearch() {
|
|
305
|
+
return this.search;
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
*
|
|
309
|
+
* @param uri to return absolute url from
|
|
310
|
+
*/
|
|
311
|
+
getAbsoluteUrl(uri = this.uri) {
|
|
312
|
+
if (uri.match(/^\w{1,10}:\/\//)) {
|
|
313
|
+
return uri;
|
|
314
|
+
}
|
|
315
|
+
if (!uri.startsWith("/")) {
|
|
316
|
+
uri = "/" + uri;
|
|
317
|
+
}
|
|
318
|
+
if (this.port) {
|
|
319
|
+
return `${this.protocol}//${this.hostname}:${this.port}${uri}`;
|
|
320
|
+
}
|
|
321
|
+
return `${this.protocol}//${this.hostname}${uri}`;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
exports.HttpContext = HttpContext;
|
|
325
|
+
//# sourceMappingURL=httpcontext.js.map
|