@toa.io/extensions.exposition 1.0.0-alpha.331 → 1.0.0-alpha.333
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/components/exposition.octets/package.json +2 -2
- package/components/identity.federation/package.json +1 -1
- package/components/identity.tokens/manifest.toa.yaml +5 -0
- package/components/identity.tokens/operations/authenticate.js +10 -3
- package/components/identity.tokens/package.json +1 -1
- package/components/identity.tokens/source/authenticate.ts +11 -2
- package/components/identity.tokens/types/toa.d.ts +3 -1
- package/package.json +11 -10
- package/transpiled/HTTP/Context.d.ts +4 -0
- package/transpiled/HTTP/Context.js +4 -1
- package/transpiled/HTTP/Context.js.map +1 -1
- package/transpiled/HTTP/Server.d.ts +3 -1
- package/transpiled/HTTP/address.d.ts +5 -0
- package/transpiled/HTTP/address.js +11 -0
- package/transpiled/HTTP/address.js.map +1 -1
- package/transpiled/directives/auth/Authorization.js +3 -1
- package/transpiled/directives/auth/Authorization.js.map +1 -1
- package/transpiled/directives/auth/Refresh.d.ts +16 -0
- package/transpiled/directives/auth/Refresh.js +44 -0
- package/transpiled/directives/auth/Refresh.js.map +1 -0
- package/transpiled/directives/censor/Censor.d.ts +2 -2
- package/transpiled/directives/censor/Censor.js +4 -9
- package/transpiled/directives/censor/Censor.js.map +1 -1
- package/transpiled/directives/map/Client.d.ts +21 -0
- package/transpiled/directives/map/Client.js +33 -0
- package/transpiled/directives/map/Client.js.map +1 -0
- package/transpiled/directives/map/Headers.d.ts +2 -1
- package/transpiled/directives/map/Headers.js +2 -2
- package/transpiled/directives/map/Headers.js.map +1 -1
- package/transpiled/directives/map/Map.js +14 -4
- package/transpiled/directives/map/Map.js.map +1 -1
- package/transpiled/root.js +26 -0
- package/transpiled/root.js.map +1 -1
- package/ui/dist/_app/env.js +1 -1
- package/ui/dist/_app/immutable/chunks/-39mDws-.js +1 -0
- package/ui/dist/_app/immutable/chunks/1WXXcBlU.js +90 -0
- package/ui/dist/_app/immutable/chunks/BjwH--Q_.js +1 -0
- package/ui/dist/_app/immutable/chunks/Bt6Kyh95.js +2 -0
- package/ui/dist/_app/immutable/chunks/C3gnuDhG.js +3 -0
- package/ui/dist/_app/immutable/chunks/CRzLMJPS.js +1 -0
- package/ui/dist/_app/immutable/chunks/DYI4yOrv.js +6 -0
- package/ui/dist/_app/immutable/chunks/XKyaHtl9.js +1 -0
- package/ui/dist/_app/immutable/entry/app.C3gvpmYY.js +2 -0
- package/ui/dist/_app/immutable/entry/payload.DSmR2FwN.js +1 -0
- package/ui/dist/_app/immutable/entry/start.BzTqgs51.js +2 -0
- package/ui/dist/_app/immutable/nodes/0.BufbmJeT.js +1 -0
- package/ui/dist/_app/immutable/nodes/1.Dn_85faQ.js +1 -0
- package/ui/dist/_app/immutable/nodes/2.DCLYeX2U.js +8 -0
- package/ui/dist/_app/immutable/nodes/3.aoe4R-SX.js +1 -0
- package/ui/dist/_app/immutable/nodes/4.B0CiB3ml.js +1 -0
- package/ui/dist/_app/immutable/nodes/5.BUrdbysb.js +1 -0
- package/ui/dist/_app/immutable/nodes/6.yNbGQqYT.js +1 -0
- package/ui/dist/_app/version.json +1 -1
- package/ui/dist/index.html +17 -14
- package/ui/dist/_app/immutable/chunks/BDckNUhP.js +0 -1
- package/ui/dist/_app/immutable/chunks/BEB0f03Q.js +0 -90
- package/ui/dist/_app/immutable/chunks/BVDJTrf4.js +0 -3
- package/ui/dist/_app/immutable/chunks/DbLTrkva.js +0 -1
- package/ui/dist/_app/immutable/chunks/xZbjwf2l.js +0 -6
- package/ui/dist/_app/immutable/chunks/xihTtKlq.js +0 -1
- package/ui/dist/_app/immutable/entry/app.DobJ2Iee.js +0 -2
- package/ui/dist/_app/immutable/entry/start.5KZbLLPV.js +0 -1
- package/ui/dist/_app/immutable/nodes/0.BcmlOx1v.js +0 -1
- package/ui/dist/_app/immutable/nodes/1.BzMQT6JK.js +0 -1
- package/ui/dist/_app/immutable/nodes/2.CbX5khSR.js +0 -8
- package/ui/dist/_app/immutable/nodes/3.BKJAedfV.js +0 -1
- package/ui/dist/_app/immutable/nodes/4.C-NuO1rS.js +0 -1
- package/ui/dist/_app/immutable/nodes/5.C2tdHzXF.js +0 -1
- package/ui/dist/_app/immutable/nodes/6.BWMOa3IU.js +0 -1
|
@@ -105,6 +105,9 @@ operations:
|
|
|
105
105
|
type: string
|
|
106
106
|
credentials:
|
|
107
107
|
type: string
|
|
108
|
+
force:
|
|
109
|
+
description: Refresh a token whatever its age, and refuse one that cannot be
|
|
110
|
+
type: boolean
|
|
108
111
|
type: object
|
|
109
112
|
required:
|
|
110
113
|
- authority
|
|
@@ -130,6 +133,8 @@ operations:
|
|
|
130
133
|
- UNRECOGNIZED
|
|
131
134
|
- AUTHORITY_MISMATCH
|
|
132
135
|
- TOKEN_REVOKED
|
|
136
|
+
# a custom token asked to be refreshed
|
|
137
|
+
- UNREFRESHABLE
|
|
133
138
|
# what `decrypt` refuses with, passed on
|
|
134
139
|
- INVALID_TOKEN
|
|
135
140
|
- INVALID_KEY
|
|
@@ -18,17 +18,23 @@ export class Computation {
|
|
|
18
18
|
return claims;
|
|
19
19
|
if (claims.iss !== input.authority)
|
|
20
20
|
return ERR_AUTHORITY;
|
|
21
|
+
const force = input.force === true;
|
|
22
|
+
// re-issued as a session token, it would lose what restricts it and outlive its key
|
|
23
|
+
if (force && claims.custom)
|
|
24
|
+
return ERR_UNREFRESHABLE;
|
|
21
25
|
const identity = claims.identity;
|
|
22
26
|
const iat = new Date(claims.iat).getTime();
|
|
23
27
|
const transient = claims.exp !== undefined;
|
|
24
28
|
const aged = transient && iat + this.refresh < Date.now();
|
|
25
|
-
|
|
29
|
+
// a forced refresh checks whatever the age, or it would exchange a revoked token for one
|
|
30
|
+
// issued after the revocation
|
|
31
|
+
if (aged || force) {
|
|
26
32
|
const revocation = await this.observe({ query: { id: identity.id } });
|
|
27
33
|
if (revocation?.revokedAt !== undefined && iat < revocation.revokedAt)
|
|
28
34
|
return ERR_TOKEN_REVOKED;
|
|
29
35
|
}
|
|
30
36
|
// a custom token is invalidated by deleting its key, not replaced
|
|
31
|
-
const refresh = (aged && !claims.custom) || claims.refresh;
|
|
37
|
+
const refresh = force || (aged && !claims.custom) || claims.refresh;
|
|
32
38
|
return {
|
|
33
39
|
identity: claims.aud === undefined ? identity : { ...identity, aud: list(claims.aud) },
|
|
34
40
|
refresh
|
|
@@ -43,4 +49,5 @@ function list(aud) {
|
|
|
43
49
|
const ERR_UNRECOGNIZED = new Error('UNRECOGNIZED');
|
|
44
50
|
const ERR_AUTHORITY = new Error('AUTHORITY_MISMATCH');
|
|
45
51
|
const ERR_TOKEN_REVOKED = new Error('TOKEN_REVOKED');
|
|
46
|
-
|
|
52
|
+
const ERR_UNREFRESHABLE = new Error('UNREFRESHABLE');
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc291cmNlL2F1dGhlbnRpY2F0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFHckMsTUFBTSxPQUFPLFdBQVc7SUFDZCxPQUFPLEdBQVcsQ0FBQyxDQUFBO0lBQ25CLE9BQU8sQ0FBOEI7SUFDckMsT0FBTyxDQUE4QjtJQUV0QyxLQUFLLENBQUMsT0FBZ0I7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUE7UUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQTtRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFBO0lBQ3RDLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQXdCO1FBQzNDLHNGQUFzRjtRQUN0RiwrRUFBK0U7UUFDL0UsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUk7WUFBRSxPQUFPLGdCQUFnQixDQUFBO1FBRTdELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtRQUUvRCxJQUFJLE1BQU0sWUFBWSxLQUFLO1lBQUUsT0FBTyxNQUFNLENBQUE7UUFFMUMsSUFBSSxNQUFNLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxTQUFTO1lBQUUsT0FBTyxhQUFhLENBQUE7UUFFeEQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUE7UUFFbEMsb0ZBQW9GO1FBQ3BGLElBQUksS0FBSyxJQUFJLE1BQU0sQ0FBQyxNQUFNO1lBQUUsT0FBTyxpQkFBaUIsQ0FBQTtRQUVwRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFBO1FBQ2hDLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUMxQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxLQUFLLFNBQVMsQ0FBQTtRQUMxQyxNQUFNLElBQUksR0FBRyxTQUFTLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO1FBRXpELHlGQUF5RjtRQUN6Riw4QkFBOEI7UUFDOUIsSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDbEIsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFFckUsSUFBSSxVQUFVLEVBQUUsU0FBUyxLQUFLLFNBQVMsSUFBSSxHQUFHLEdBQUcsVUFBVSxDQUFDLFNBQVM7Z0JBQ25FLE9BQU8saUJBQWlCLENBQUE7UUFDNUIsQ0FBQztRQUVELGtFQUFrRTtRQUNsRSxNQUFNLE9BQU8sR0FBRyxLQUFLLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQTtRQUVuRSxPQUFPO1lBQ0wsUUFBUSxFQUNOLE1BQU0sQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDOUUsT0FBTztTQUNSLENBQUE7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxTQUFTLElBQUksQ0FBQyxHQUF1QjtJQUNuQyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVE7UUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFekMsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFtQixFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUE7QUFDMUUsQ0FBQztBQUVELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUE7QUFFbEQsTUFBTSxhQUFhLEdBQUcsSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtBQUVyRCxNQUFNLGlCQUFpQixHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFBO0FBRXBELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUEifQ==
|
|
@@ -25,12 +25,19 @@ export class Computation implements Operation {
|
|
|
25
25
|
|
|
26
26
|
if (claims.iss !== input.authority) return ERR_AUTHORITY
|
|
27
27
|
|
|
28
|
+
const force = input.force === true
|
|
29
|
+
|
|
30
|
+
// re-issued as a session token, it would lose what restricts it and outlive its key
|
|
31
|
+
if (force && claims.custom) return ERR_UNREFRESHABLE
|
|
32
|
+
|
|
28
33
|
const identity = claims.identity
|
|
29
34
|
const iat = new Date(claims.iat).getTime()
|
|
30
35
|
const transient = claims.exp !== undefined
|
|
31
36
|
const aged = transient && iat + this.refresh < Date.now()
|
|
32
37
|
|
|
33
|
-
|
|
38
|
+
// a forced refresh checks whatever the age, or it would exchange a revoked token for one
|
|
39
|
+
// issued after the revocation
|
|
40
|
+
if (aged || force) {
|
|
34
41
|
const revocation = await this.observe({ query: { id: identity.id } })
|
|
35
42
|
|
|
36
43
|
if (revocation?.revokedAt !== undefined && iat < revocation.revokedAt)
|
|
@@ -38,7 +45,7 @@ export class Computation implements Operation {
|
|
|
38
45
|
}
|
|
39
46
|
|
|
40
47
|
// a custom token is invalidated by deleting its key, not replaced
|
|
41
|
-
const refresh = (aged && !claims.custom) || claims.refresh
|
|
48
|
+
const refresh = force || (aged && !claims.custom) || claims.refresh
|
|
42
49
|
|
|
43
50
|
return {
|
|
44
51
|
identity:
|
|
@@ -59,3 +66,5 @@ const ERR_UNRECOGNIZED = new Error('UNRECOGNIZED')
|
|
|
59
66
|
const ERR_AUTHORITY = new Error('AUTHORITY_MISMATCH')
|
|
60
67
|
|
|
61
68
|
const ERR_TOKEN_REVOKED = new Error('TOKEN_REVOKED')
|
|
69
|
+
|
|
70
|
+
const ERR_UNREFRESHABLE = new Error('UNREFRESHABLE')
|
|
@@ -60,6 +60,8 @@ export type DecryptOutput = {
|
|
|
60
60
|
export type AuthenticateInput = {
|
|
61
61
|
authority: string
|
|
62
62
|
credentials: string
|
|
63
|
+
/** Refresh a token whatever its age, and refuse one that cannot be */
|
|
64
|
+
force?: boolean
|
|
63
65
|
}
|
|
64
66
|
|
|
65
67
|
export type AuthenticateOutput = {
|
|
@@ -93,7 +95,7 @@ export type RevokeOutput = null
|
|
|
93
95
|
export interface Component {
|
|
94
96
|
encrypt: (request: { input: EncryptInput, entity?: Partial<Entity>, task?: boolean }) => Promise<EncryptOutput | CodedError<"INACCESSIBLE_SCOPE">>
|
|
95
97
|
decrypt: (request: { input: DecryptInput, task?: boolean }) => Promise<DecryptOutput | CodedError<"INVALID_TOKEN" | "INVALID_KEY" | "FORGED_KEY" | "REVOKED_KEY">>
|
|
96
|
-
authenticate: (request: { input: AuthenticateInput, task?: boolean }) => Promise<AuthenticateOutput | CodedError<"UNRECOGNIZED" | "AUTHORITY_MISMATCH" | "TOKEN_REVOKED" | "INVALID_TOKEN" | "INVALID_KEY" | "FORGED_KEY" | "REVOKED_KEY">>
|
|
98
|
+
authenticate: (request: { input: AuthenticateInput, task?: boolean }) => Promise<AuthenticateOutput | CodedError<"UNRECOGNIZED" | "AUTHORITY_MISMATCH" | "TOKEN_REVOKED" | "UNREFRESHABLE" | "INVALID_TOKEN" | "INVALID_KEY" | "FORGED_KEY" | "REVOKED_KEY">>
|
|
97
99
|
issue: (request: { input: IssueInput, entity?: Partial<Entity>, task?: boolean }) => Promise<IssueOutput | CodedError<"INACCESSIBLE_SCOPE">>
|
|
98
100
|
revoke: (request: { input?: null, query?: Query<Entity>, task?: boolean }) => Promise<RevokeOutput>
|
|
99
101
|
assign: (request: { input?: null, query?: Query<Entity>, task?: boolean }) => Promise<Entity>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toa.io/extensions.exposition",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.333",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Toa Exposition",
|
|
6
6
|
"author": "temich <tema.gurtovoy@gmail.com>",
|
|
@@ -28,16 +28,16 @@
|
|
|
28
28
|
"!**/.env*"
|
|
29
29
|
],
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@toa.io/core": "1.0.0-alpha.
|
|
32
|
-
"@toa.io/definitions": "1.0.0-alpha.
|
|
33
|
-
"@toa.io/generic": "1.0.0-alpha.
|
|
34
|
-
"@toa.io/pointer": "1.0.0-alpha.
|
|
35
|
-
"@toa.io/schemas": "1.0.0-alpha.
|
|
31
|
+
"@toa.io/core": "1.0.0-alpha.333",
|
|
32
|
+
"@toa.io/definitions": "1.0.0-alpha.333",
|
|
33
|
+
"@toa.io/generic": "1.0.0-alpha.332",
|
|
34
|
+
"@toa.io/pointer": "1.0.0-alpha.332",
|
|
35
|
+
"@toa.io/schemas": "1.0.0-alpha.332",
|
|
36
36
|
"content-type": "3.1.1",
|
|
37
37
|
"ioredis": "6.0.0",
|
|
38
38
|
"matchacho": "0.6.1",
|
|
39
39
|
"minimatch": "10.2.6",
|
|
40
|
-
"msgpackr": "2.1.
|
|
40
|
+
"msgpackr": "2.1.2",
|
|
41
41
|
"negotiator": "1.1.0",
|
|
42
42
|
"openspan": "1.0.0-alpha.330"
|
|
43
43
|
},
|
|
@@ -66,13 +66,14 @@
|
|
|
66
66
|
"@node-rs/bcrypt": "2.0.0",
|
|
67
67
|
"@simplewebauthn/server": "14.0.3",
|
|
68
68
|
"@toa.io/agent": "*",
|
|
69
|
+
"@toa.io/extensions.chronicles": "*",
|
|
69
70
|
"@toa.io/extensions.storages": "*",
|
|
70
71
|
"@types/cors": "2.8.19",
|
|
71
72
|
"@types/negotiator": "0.6.5",
|
|
72
|
-
"jose": "6.2.
|
|
73
|
-
"js-yaml": "5.
|
|
73
|
+
"jose": "6.2.13",
|
|
74
|
+
"js-yaml": "5.5.0",
|
|
74
75
|
"lru-cache": "11.5.3",
|
|
75
76
|
"paseto": "4.0.1"
|
|
76
77
|
},
|
|
77
|
-
"gitHead": "
|
|
78
|
+
"gitHead": "ddb74b2f99026fae540a8a8e0a49c26cbd22886a"
|
|
78
79
|
}
|
|
@@ -8,6 +8,8 @@ export declare class Context {
|
|
|
8
8
|
readonly request: IncomingMessage;
|
|
9
9
|
/** the client address, read as the deployment says; none otherwise, see `documentation/ip.md` */
|
|
10
10
|
readonly ip: string | undefined;
|
|
11
|
+
/** the client's country, read as the deployment says; none otherwise, see `documentation/ip.md` */
|
|
12
|
+
readonly country: string | undefined;
|
|
11
13
|
readonly url: URL;
|
|
12
14
|
readonly subtype: string | null;
|
|
13
15
|
readonly encoder: Format | null;
|
|
@@ -79,5 +81,7 @@ interface Pipelines {
|
|
|
79
81
|
interface Properties {
|
|
80
82
|
/** the header the client address is read from; the connection's without one */
|
|
81
83
|
ip?: string;
|
|
84
|
+
/** the header the client's country is read from */
|
|
85
|
+
country?: string;
|
|
82
86
|
}
|
|
83
87
|
export {};
|
|
@@ -4,13 +4,15 @@ import { console } from 'openspan';
|
|
|
4
4
|
import { Timing } from './Timing.js';
|
|
5
5
|
import { formats, types } from './formats/index.js';
|
|
6
6
|
import { read } from './messages.js';
|
|
7
|
-
import { address } from './address.js';
|
|
7
|
+
import { address, country } from './address.js';
|
|
8
8
|
import { NONE as UNMATCHED } from '../measurements.js';
|
|
9
9
|
export class Context {
|
|
10
10
|
authority;
|
|
11
11
|
request;
|
|
12
12
|
/** the client address, read as the deployment says; none otherwise, see `documentation/ip.md` */
|
|
13
13
|
ip;
|
|
14
|
+
/** the client's country, read as the deployment says; none otherwise, see `documentation/ip.md` */
|
|
15
|
+
country;
|
|
14
16
|
url;
|
|
15
17
|
subtype = null;
|
|
16
18
|
encoder = null;
|
|
@@ -77,6 +79,7 @@ export class Context {
|
|
|
77
79
|
this.request = request;
|
|
78
80
|
this.signal = signal;
|
|
79
81
|
this.ip = address(request, properties.ip);
|
|
82
|
+
this.country = country(request, properties.country);
|
|
80
83
|
// parsed by the server, which had to parse it anyway to know the request is valid
|
|
81
84
|
this.url = url;
|
|
82
85
|
this.timing = new Timing();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../source/HTTP/Context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAe,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../source/HTTP/Context.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,9 +65,11 @@ interface Properties {
|
|
|
65
65
|
probe: number;
|
|
66
66
|
/** The header the client address is read from; the connection's address without one. */
|
|
67
67
|
ip?: string;
|
|
68
|
+
/** The header the client's country is read from; none without one. */
|
|
69
|
+
country?: string;
|
|
68
70
|
/** Failed authentications an address may make; none are metered unless set. */
|
|
69
71
|
bouncer?: Bouncer;
|
|
70
|
-
/**
|
|
72
|
+
/** The countries a request is answered 451 from; none is refused without it. */
|
|
71
73
|
censor?: Censor;
|
|
72
74
|
/** The authorization server this context exposes; none is exposed without it. */
|
|
73
75
|
oauth?: OAuth;
|
|
@@ -5,3 +5,8 @@ import type { IncomingMessage } from './types.ts';
|
|
|
5
5
|
* connection's address is never it: behind an edge it is the edge's.
|
|
6
6
|
*/
|
|
7
7
|
export declare function address(request: IncomingMessage, header?: string): string | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* The country the edge wrote for the client, as it wrote it. One value, never a list: an edge
|
|
10
|
+
* writes it whole, and a header a client sent beside it is the deployment's to strip.
|
|
11
|
+
*/
|
|
12
|
+
export declare function country(request: IncomingMessage, header?: string): string | undefined;
|
|
@@ -11,4 +11,15 @@ export function address(request, header) {
|
|
|
11
11
|
const last = raw?.slice(raw.lastIndexOf(',') + 1).trim();
|
|
12
12
|
return last === '' ? undefined : last;
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* The country the edge wrote for the client, as it wrote it. One value, never a list: an edge
|
|
16
|
+
* writes it whole, and a header a client sent beside it is the deployment's to strip.
|
|
17
|
+
*/
|
|
18
|
+
export function country(request, header) {
|
|
19
|
+
if (header === undefined)
|
|
20
|
+
return;
|
|
21
|
+
const value = request.headers[header.toLowerCase()];
|
|
22
|
+
const raw = (Array.isArray(value) ? value[value.length - 1] : value)?.trim();
|
|
23
|
+
return raw === '' ? undefined : raw;
|
|
24
|
+
}
|
|
14
25
|
//# sourceMappingURL=address.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../source/HTTP/address.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,OAAwB,EAAE,MAAe;IAC/D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAM;IAEhC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACrC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAClE,MAAM,IAAI,GAAG,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAExD,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;AACvC,CAAC"}
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../source/HTTP/address.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,OAAwB,EAAE,MAAe;IAC/D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAM;IAEhC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACrC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAClE,MAAM,IAAI,GAAG,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAExD,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,OAAwB,EAAE,MAAe;IAC/D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAM;IAEhC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;IACnD,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAA;IAE5E,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAA;AACrC,CAAC"}
|
|
@@ -9,6 +9,7 @@ import { Rule } from './Rule.js';
|
|
|
9
9
|
import { Incept } from './Incept.js';
|
|
10
10
|
import { Assert } from './Assert.js';
|
|
11
11
|
import { Echo } from './Echo.js';
|
|
12
|
+
import { Refresh } from './Refresh.js';
|
|
12
13
|
import { Scheme } from './Scheme.js';
|
|
13
14
|
import { Delegate } from './Delegate.js';
|
|
14
15
|
import { Federation } from './Federation.js';
|
|
@@ -57,7 +58,7 @@ export class Authorization {
|
|
|
57
58
|
const Class = constructors[name];
|
|
58
59
|
for (const name of REMOTES)
|
|
59
60
|
this.discovery[name] ??= remotes.discover('identity', name);
|
|
60
|
-
return match(Class, Role, () => new Role(value, this.discovery.roles), Rule, () => new Rule(value, this.create.bind(this)), Input, () => new Input(value, this.create.bind(this)), Incept, () => new Incept(value, this.discovery), Delegate, () => new Delegate(value, this.discovery.roles), () => new Class(value));
|
|
61
|
+
return match(Class, Role, () => new Role(value, this.discovery.roles), Rule, () => new Rule(value, this.create.bind(this)), Input, () => new Input(value, this.create.bind(this)), Incept, () => new Incept(value, this.discovery), Delegate, () => new Delegate(value, this.discovery.roles), Refresh, () => new Refresh(this.discovery), () => new Class(value));
|
|
61
62
|
}
|
|
62
63
|
arrange(directives) {
|
|
63
64
|
directives.sort((a, b) => (a.priority ?? 1) - (b.priority ?? 1));
|
|
@@ -312,6 +313,7 @@ const constructors = {
|
|
|
312
313
|
assert: Assert,
|
|
313
314
|
scheme: Scheme,
|
|
314
315
|
echo: Echo,
|
|
316
|
+
refresh: Refresh,
|
|
315
317
|
delegate: Delegate,
|
|
316
318
|
claims: Federation,
|
|
317
319
|
input: Input
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../source/directives/auth/Authorization.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../source/directives/auth/Authorization.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as http from '../../HTTP/index.ts';
|
|
2
|
+
import type { Context, Directive, Discovery, Identity } from './types.ts';
|
|
3
|
+
/**
|
|
4
|
+
* A token re-issued whatever its age. The token is re-issued where any is, at the end of the
|
|
5
|
+
* request; this only marks it, once the token is known to be one that may be.
|
|
6
|
+
*/
|
|
7
|
+
export declare class Refresh implements Directive {
|
|
8
|
+
private readonly discovery;
|
|
9
|
+
private tokens;
|
|
10
|
+
constructor(discovery: Discovery);
|
|
11
|
+
/** Whether the token is one that may be refreshed cannot be told without presenting it. */
|
|
12
|
+
admits(identity: Identity | null): boolean | undefined;
|
|
13
|
+
authorize(identity: Identity | null, context: Context): Promise<boolean>;
|
|
14
|
+
/** Roles are read again when the token is re-issued, before the reply is written. */
|
|
15
|
+
reply(context: Context): http.OutgoingMessage;
|
|
16
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as http from '../../HTTP/index.js';
|
|
2
|
+
import { split } from './split.js';
|
|
3
|
+
import { PRIMARY } from './schemes.js';
|
|
4
|
+
/**
|
|
5
|
+
* A token re-issued whatever its age. The token is re-issued where any is, at the end of the
|
|
6
|
+
* request; this only marks it, once the token is known to be one that may be.
|
|
7
|
+
*/
|
|
8
|
+
export class Refresh {
|
|
9
|
+
discovery;
|
|
10
|
+
tokens = null;
|
|
11
|
+
constructor(discovery) {
|
|
12
|
+
this.discovery = discovery;
|
|
13
|
+
}
|
|
14
|
+
/** Whether the token is one that may be refreshed cannot be told without presenting it. */
|
|
15
|
+
admits(identity) {
|
|
16
|
+
return identity === null ? false : undefined;
|
|
17
|
+
}
|
|
18
|
+
async authorize(identity, context) {
|
|
19
|
+
if (identity === null)
|
|
20
|
+
return false;
|
|
21
|
+
// credentials of any other provider are answered with a new token anyway
|
|
22
|
+
if (identity.provider !== PRIMARY)
|
|
23
|
+
return true;
|
|
24
|
+
this.tokens ??= await this.discovery.tokens;
|
|
25
|
+
// the route is not known when the credential is read, so it is asked again
|
|
26
|
+
const [, credentials] = split(context.request.headers.authorization);
|
|
27
|
+
const result = await this.tokens.invoke('authenticate', {
|
|
28
|
+
input: { authority: context.authority, credentials, force: true }
|
|
29
|
+
});
|
|
30
|
+
if (result instanceof Error)
|
|
31
|
+
if (result.code === UNREFRESHABLE)
|
|
32
|
+
return false;
|
|
33
|
+
else
|
|
34
|
+
throw new http.Unauthorized();
|
|
35
|
+
identity.refresh = true;
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
/** Roles are read again when the token is re-issued, before the reply is written. */
|
|
39
|
+
reply(context) {
|
|
40
|
+
return { status: 200, body: context.identity };
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const UNREFRESHABLE = 'UNREFRESHABLE';
|
|
44
|
+
//# sourceMappingURL=Refresh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Refresh.js","sourceRoot":"","sources":["../../../source/directives/auth/Refresh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAUtC;;;GAGG;AACH,MAAM,OAAO,OAAO;IACD,SAAS,CAAW;IAC7B,MAAM,GAAqB,IAAI,CAAA;IAEvC,YAAmB,SAAoB;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,2FAA2F;IACpF,MAAM,CAAC,QAAyB;QACrC,OAAO,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9C,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,QAAyB,EAAE,OAAgB;QAChE,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,KAAK,CAAA;QAEnC,yEAAyE;QACzE,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO;YAAE,OAAO,IAAI,CAAA;QAE9C,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAA;QAE3C,2EAA2E;QAC3E,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAc,CAAC,CAAA;QAErE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAuB,cAAc,EAAE;YAC5E,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE;SAClE,CAAC,CAAA;QAEF,IAAI,MAAM,YAAY,KAAK;YACzB,IAAK,MAAoC,CAAC,IAAI,KAAK,aAAa;gBAAE,OAAO,KAAK,CAAA;;gBACzE,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAA;QAEpC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAA;QAEvB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qFAAqF;IAC9E,KAAK,CAAC,OAAgB;QAC3B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAA;IAChD,CAAC;CACF;AAED,MAAM,aAAa,GAAG,eAAe,CAAA"}
|
|
@@ -3,8 +3,8 @@ import type { Input, Output } from '../../io.ts';
|
|
|
3
3
|
import type { Interceptor } from '../../Interception.ts';
|
|
4
4
|
export declare class Censor implements Interceptor {
|
|
5
5
|
readonly name = "censor";
|
|
6
|
-
private
|
|
7
|
-
private values;
|
|
6
|
+
private countries;
|
|
8
7
|
mount(options: http.Options): void;
|
|
8
|
+
/** The country is the request's, as `exposition.country` reads it; a request of none is served. */
|
|
9
9
|
intercept(input: Input): Output;
|
|
10
10
|
}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
import * as http from '../../HTTP/index.js';
|
|
2
2
|
export class Censor {
|
|
3
3
|
name = 'censor';
|
|
4
|
-
|
|
5
|
-
values = new Set();
|
|
4
|
+
countries = new Set();
|
|
6
5
|
mount(options) {
|
|
7
|
-
|
|
8
|
-
this.header = options.censor?.header.toLowerCase() ?? null;
|
|
9
|
-
this.values = new Set(options.censor?.values);
|
|
6
|
+
this.countries = new Set(options.censor);
|
|
10
7
|
}
|
|
8
|
+
/** The country is the request's, as `exposition.country` reads it; a request of none is served. */
|
|
11
9
|
intercept(input) {
|
|
12
|
-
if (
|
|
13
|
-
return null;
|
|
14
|
-
const value = input.request.headers[this.header];
|
|
15
|
-
if (typeof value === 'string' && this.values.has(value))
|
|
10
|
+
if (input.country !== undefined && this.countries.has(input.country))
|
|
16
11
|
throw new http.UnavailableForLegalReasons();
|
|
17
12
|
return null;
|
|
18
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Censor.js","sourceRoot":"","sources":["../../../source/directives/censor/Censor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,qBAAqB,CAAA;AAI3C,MAAM,OAAO,MAAM;IACD,IAAI,GAAG,QAAQ,CAAA;IAEvB,
|
|
1
|
+
{"version":3,"file":"Censor.js","sourceRoot":"","sources":["../../../source/directives/censor/Censor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,qBAAqB,CAAA;AAI3C,MAAM,OAAO,MAAM;IACD,IAAI,GAAG,QAAQ,CAAA;IAEvB,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;IAE9B,KAAK,CAAC,OAAqB;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;IAED,mGAAmG;IAC5F,SAAS,CAAC,KAAY;QAC3B,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;YAClE,MAAM,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAA;QAE7C,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Mapping } from './Mapping.ts';
|
|
2
|
+
import type { Input } from '../../io.ts';
|
|
3
|
+
/**
|
|
4
|
+
* What the gateway resolved of the client — its address, its country — as `exposition.ip` and
|
|
5
|
+
* `exposition.country` read them. Set whether the request has one or not, as `null` where it has
|
|
6
|
+
* none, so a body cannot say it for the client.
|
|
7
|
+
*/
|
|
8
|
+
declare abstract class Resolved extends Mapping<string> {
|
|
9
|
+
protected constructor(property: string, directive: string);
|
|
10
|
+
properties(context: Input): Record<string, string | null>;
|
|
11
|
+
protected abstract read(context: Input): string | undefined;
|
|
12
|
+
}
|
|
13
|
+
export declare class IP extends Resolved {
|
|
14
|
+
constructor(property: string);
|
|
15
|
+
protected read(context: Input): string | undefined;
|
|
16
|
+
}
|
|
17
|
+
export declare class Country extends Resolved {
|
|
18
|
+
constructor(property: string);
|
|
19
|
+
protected read(context: Input): string | undefined;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Mapping } from './Mapping.js';
|
|
2
|
+
/**
|
|
3
|
+
* What the gateway resolved of the client — its address, its country — as `exposition.ip` and
|
|
4
|
+
* `exposition.country` read them. Set whether the request has one or not, as `null` where it has
|
|
5
|
+
* none, so a body cannot say it for the client.
|
|
6
|
+
*/
|
|
7
|
+
class Resolved extends Mapping {
|
|
8
|
+
constructor(property, directive) {
|
|
9
|
+
if (typeof property !== 'string')
|
|
10
|
+
throw new Error(`\`${directive}\` must be a string`);
|
|
11
|
+
super(property);
|
|
12
|
+
}
|
|
13
|
+
properties(context) {
|
|
14
|
+
return { [this.value]: this.read(context) ?? null };
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export class IP extends Resolved {
|
|
18
|
+
constructor(property) {
|
|
19
|
+
super(property, 'map:ip');
|
|
20
|
+
}
|
|
21
|
+
read(context) {
|
|
22
|
+
return context.ip;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export class Country extends Resolved {
|
|
26
|
+
constructor(property) {
|
|
27
|
+
super(property, 'map:country');
|
|
28
|
+
}
|
|
29
|
+
read(context) {
|
|
30
|
+
return context.country;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=Client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../source/directives/map/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC;;;;GAIG;AACH,MAAe,QAAS,SAAQ,OAAe;IAC7C,YAAsB,QAAgB,EAAE,SAAiB;QACvD,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,KAAK,SAAS,qBAAqB,CAAC,CAAA;QAEtF,KAAK,CAAC,QAAQ,CAAC,CAAA;IACjB,CAAC;IAEM,UAAU,CAAC,OAAc;QAC9B,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAA;IACrD,CAAC;CAGF;AAED,MAAM,OAAO,EAAG,SAAQ,QAAQ;IAC9B,YAAmB,QAAgB;QACjC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3B,CAAC;IAES,IAAI,CAAC,OAAc;QAC3B,OAAO,OAAO,CAAC,EAAE,CAAA;IACnB,CAAC;CACF;AAED,MAAM,OAAO,OAAQ,SAAQ,QAAQ;IACnC,YAAmB,QAAgB;QACjC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;IAChC,CAAC;IAES,IAAI,CAAC,OAAc;QAC3B,OAAO,OAAO,CAAC,OAAO,CAAA;IACxB,CAAC;CACF"}
|
|
@@ -10,5 +10,6 @@ export declare class Headers extends Mapping<Record<string, string>> {
|
|
|
10
10
|
* request is its own, and a caller has nowhere to put one anyway.
|
|
11
11
|
*/
|
|
12
12
|
explain(introspection: Introspection): void;
|
|
13
|
-
|
|
13
|
+
/** A header the request does not have is a property it has none of, whatever the body says. */
|
|
14
|
+
properties(context: Input): Record<string, string | undefined>;
|
|
14
15
|
}
|
|
@@ -24,6 +24,7 @@ export class Headers extends Mapping {
|
|
|
24
24
|
for (const property of Object.keys(this.value))
|
|
25
25
|
take(introspection, property);
|
|
26
26
|
}
|
|
27
|
+
/** A header the request does not have is a property it has none of, whatever the body says. */
|
|
27
28
|
properties(context) {
|
|
28
29
|
context.pipelines.response.push((response) => {
|
|
29
30
|
response.headers ??= new global.Headers();
|
|
@@ -32,8 +33,7 @@ export class Headers extends Mapping {
|
|
|
32
33
|
});
|
|
33
34
|
return Object.entries(this.value).reduce((properties, [property, header]) => {
|
|
34
35
|
const value = context.request.headers[header];
|
|
35
|
-
|
|
36
|
-
properties[property] = Array.isArray(value) ? value.join(', ') : value;
|
|
36
|
+
properties[property] = Array.isArray(value) ? value.join(', ') : value;
|
|
37
37
|
return properties;
|
|
38
38
|
}, {});
|
|
39
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Headers.js","sourceRoot":"","sources":["../../../source/directives/map/Headers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAI7C;;;GAGG;AACH,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAE/B,MAAM,OAAO,OAAQ,SAAQ,OAA+B;IACzC,OAAO,CAAU;IAElC,YAAmB,GAA2B;QAC5C,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QAElF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QAEvE,KAAK,CAAC,GAAG,CAAC,CAAA;QAEV,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAC1E,CAAC;IAED;;;;OAIG;IACa,OAAO,CAAC,aAA4B;QAClD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;IAC/E,CAAC;
|
|
1
|
+
{"version":3,"file":"Headers.js","sourceRoot":"","sources":["../../../source/directives/map/Headers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAI7C;;;GAGG;AACH,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AAE/B,MAAM,OAAO,OAAQ,SAAQ,OAA+B;IACzC,OAAO,CAAU;IAElC,YAAmB,GAA2B;QAC5C,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QAElF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QAEvE,KAAK,CAAC,GAAG,CAAC,CAAA;QAEV,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAC1E,CAAC;IAED;;;;OAIG;IACa,OAAO,CAAC,aAA4B;QAClD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;IAC/E,CAAC;IAED,+FAA+F;IACxF,UAAU,CAAC,OAAc;QAC9B,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3C,QAAQ,CAAC,OAAO,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAA;YAEzC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO;gBAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC5E,CAAC,CAAC,CAAA;QAEF,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CACtC,CAAC,UAA8C,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE;YACrE,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAE7C,UAAU,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;YAEtE,OAAO,UAAU,CAAA;QACnB,CAAC,EACD,EAAE,CACH,CAAA;IACH,CAAC;CACF"}
|