@toa.io/extensions.exposition 1.0.0-alpha.85 → 1.0.0-alpha.88
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/identity.basic/operations/transit.js +3 -3
- package/components/identity.basic/operations/transit.js.map +1 -1
- package/components/identity.basic/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.basic/source/transit.ts +3 -3
- package/components/octets.storage/manifest.toa.yaml +3 -5
- package/components/octets.storage/operations/get.js +1 -1
- package/components/octets.storage/operations/head.js +7 -0
- package/components/octets.storage/operations/{store.js → put.js} +9 -9
- package/documentation/components.md +14 -0
- package/documentation/octets.md +17 -47
- package/features/identity.feature +11 -4
- package/features/{octets.meta.feature → octets.attributes.feature} +13 -12
- package/features/octets.cloudinary.feature +68 -0
- package/features/octets.download.feature +6 -6
- package/features/octets.entries.feature +8 -57
- package/features/octets.feature +8 -60
- package/features/octets.workflows.feature +0 -36
- package/features/steps/.env.example +3 -0
- package/features/steps/Parameters.ts +10 -0
- package/features/steps/components/octets.tester/manifest.toa.yaml +0 -1
- package/features/steps/components/octets.tester/operations/bar.js +0 -1
- package/features/steps/components/octets.tester/operations/baz.js +0 -1
- package/features/steps/components/octets.tester/operations/foo.js +0 -1
- package/package.json +5 -5
- package/source/Endpoint.ts +3 -3
- package/source/HTTP/Server.ts +4 -0
- package/source/RTD/syntax/parse.test.ts +1 -1
- package/source/directives/auth/Authorization.ts +9 -9
- package/source/directives/auth/Echo.ts +19 -5
- package/source/directives/auth/Scheme.ts +1 -1
- package/source/directives/auth/types.ts +1 -1
- package/source/directives/io/Output.ts +2 -2
- package/source/directives/octets/Delete.ts +11 -11
- package/source/directives/octets/{Fetch.ts → Get.ts} +17 -34
- package/source/directives/octets/Octets.ts +6 -8
- package/source/directives/octets/{Store.ts → Put.ts} +9 -14
- package/source/directives/octets/Workflow.ts +1 -1
- package/source/directives/octets/schemas.ts +4 -6
- package/source/directives/octets/workflows/Workflow.ts +2 -3
- package/source/directives/vary/embeddings/Language.ts +2 -2
- package/source/root.ts +5 -5
- package/transpiled/Endpoint.js +3 -3
- package/transpiled/Endpoint.js.map +1 -1
- package/transpiled/HTTP/Server.js +2 -0
- package/transpiled/HTTP/Server.js.map +1 -1
- package/transpiled/directives/auth/Authorization.d.ts +1 -1
- package/transpiled/directives/auth/Authorization.js +8 -10
- package/transpiled/directives/auth/Authorization.js.map +1 -1
- package/transpiled/directives/auth/Echo.d.ts +4 -3
- package/transpiled/directives/auth/Echo.js +13 -3
- package/transpiled/directives/auth/Echo.js.map +1 -1
- package/transpiled/directives/auth/Scheme.js +1 -1
- package/transpiled/directives/auth/Scheme.js.map +1 -1
- package/transpiled/directives/auth/types.d.ts +1 -1
- package/transpiled/directives/io/Output.js +1 -1
- package/transpiled/directives/io/Output.js.map +1 -1
- package/transpiled/directives/octets/Delete.js +8 -8
- package/transpiled/directives/octets/Delete.js.map +1 -1
- package/transpiled/directives/octets/{Fetch.d.ts → Get.d.ts} +2 -3
- package/transpiled/directives/octets/{Fetch.js → Get.js} +19 -24
- package/transpiled/directives/octets/Get.js.map +1 -0
- package/transpiled/directives/octets/Octets.js +6 -8
- package/transpiled/directives/octets/Octets.js.map +1 -1
- package/transpiled/directives/octets/{Store.d.ts → Put.d.ts} +2 -2
- package/transpiled/directives/octets/{Store.js → Put.js} +11 -14
- package/transpiled/directives/octets/Put.js.map +1 -0
- package/transpiled/directives/octets/Workflow.js +1 -1
- package/transpiled/directives/octets/Workflow.js.map +1 -1
- package/transpiled/directives/octets/schemas.d.ts +4 -6
- package/transpiled/directives/octets/schemas.js +3 -4
- package/transpiled/directives/octets/schemas.js.map +1 -1
- package/transpiled/directives/octets/workflows/Workflow.d.ts +1 -1
- package/transpiled/directives/octets/workflows/Workflow.js.map +1 -1
- package/transpiled/directives/vary/embeddings/Language.js +2 -2
- package/transpiled/directives/vary/embeddings/Language.js.map +1 -1
- package/transpiled/root.js +5 -5
- package/transpiled/root.js.map +1 -1
- package/transpiled/tsconfig.tsbuildinfo +1 -1
- package/components/octets.storage/operations/fetch.js +0 -46
- package/components/octets.storage/operations/list.js +0 -7
- package/features/steps/components/octets.tester/operations/diversify.js +0 -16
- package/schemas/octets/fetch.cos.yaml +0 -3
- package/schemas/octets/permute.cos.yaml +0 -1
- package/source/directives/octets/List.ts +0 -72
- package/transpiled/directives/octets/Fetch.js.map +0 -1
- package/transpiled/directives/octets/List.d.ts +0 -16
- package/transpiled/directives/octets/List.js +0 -74
- package/transpiled/directives/octets/List.js.map +0 -1
- package/transpiled/directives/octets/Store.js.map +0 -1
- /package/schemas/octets/{list.cos.yaml → get.cos.yaml} +0 -0
- /package/schemas/octets/{store.cos.yaml → put.cos.yaml} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../source/HTTP/Server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAwB;AACxB,sDAAwB;AACxB,gDAAiC;AACjC,6CAAkC;AAClC,mDAAiD;AACjD,uCAAkC;AAClC,uCAAwC;AACxC,yCAAwD;AACxD,6CAAqD;AACrD,uCAAmC;AAGnC,MAAa,MAAO,SAAQ,gBAAS;IAClB,MAAM,GAAgB,IAAI,CAAC,YAAY,EAAE,CAAA;IACzC,UAAU,CAAY;IACtB,WAAW,CAAwB;IAC5C,OAAO,CAAa;IACpB,KAAK,GAAY,KAAK,CAAA;IACtB,SAAS,GAAW,CAAC,CAAA;IAE7B,YAAqB,UAAsB;QACzC,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;QAEjH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../source/HTTP/Server.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ export declare class Authorization implements DirectiveFamily<Directive, Extensi
|
|
|
13
13
|
private bans;
|
|
14
14
|
create(name: string, value: any, remotes: Remotes): Directive;
|
|
15
15
|
preflight(directives: Directive[], input: Input, parameters: Parameter[]): Promise<Output>;
|
|
16
|
-
settle(directives: Directive[],
|
|
16
|
+
settle(directives: Directive[], input: Input, response: http.OutgoingMessage): Promise<void>;
|
|
17
17
|
private resolve;
|
|
18
18
|
private banned;
|
|
19
19
|
}
|
|
@@ -65,22 +65,20 @@ class Authorization {
|
|
|
65
65
|
* the inception will cause a unique constraint violation on the settle stage.
|
|
66
66
|
*/
|
|
67
67
|
const inception = directives.reduce((yes, directive) => yes || directive instanceof Incept_1.Incept, false);
|
|
68
|
-
|
|
69
|
-
input.identity = identity;
|
|
68
|
+
input.identity = inception ? null : await this.resolve(input.authority, input.request.headers.authorization);
|
|
70
69
|
for (const directive of directives) {
|
|
71
|
-
const allow = await directive.authorize(identity, input, parameters);
|
|
70
|
+
const allow = await directive.authorize(input.identity, input, parameters);
|
|
72
71
|
if (allow)
|
|
73
|
-
return directive.reply?.(identity) ?? null;
|
|
72
|
+
return directive.reply?.(input.identity) ?? null;
|
|
74
73
|
}
|
|
75
|
-
if (identity === null)
|
|
74
|
+
if (input.identity === null)
|
|
76
75
|
throw new http.Unauthorized();
|
|
77
76
|
else
|
|
78
77
|
throw new http.Forbidden();
|
|
79
78
|
}
|
|
80
|
-
async settle(directives,
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
const identity = request.identity;
|
|
79
|
+
async settle(directives, input, response) {
|
|
80
|
+
await Promise.all(directives.map(async (directive) => directive.settle?.(input, response)));
|
|
81
|
+
const identity = input.identity;
|
|
84
82
|
if (identity === null)
|
|
85
83
|
return;
|
|
86
84
|
if (identity.scheme === schemes_1.PRIMARY && !identity.refresh)
|
|
@@ -90,7 +88,7 @@ class Authorization {
|
|
|
90
88
|
await Role_1.Role.set(identity, this.discovery.roles);
|
|
91
89
|
this.tokens ??= await this.discovery.tokens;
|
|
92
90
|
const token = await this.tokens.invoke('encrypt', {
|
|
93
|
-
input: { authority:
|
|
91
|
+
input: { authority: input.authority, identity }
|
|
94
92
|
});
|
|
95
93
|
const authorization = `Token ${token}`;
|
|
96
94
|
response.headers ??= new Headers();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../source/directives/auth/Authorization.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAgC;AAChC,yCAAiC;AACjC,iDAAkC;AAClC,2CAAuC;AACvC,6BAAyB;AACzB,iCAA6B;AAC7B,iCAA6B;AAC7B,qCAAiC;AACjC,iCAA6B;AAC7B,qCAAiC;AACjC,yCAAqC;AACrC,6CAAyC;AACzC,mCAA+B;AAC/B,uCAA8C;AAiB9C,MAAa,aAAa;IACR,OAAO,GAAa,CAAC,MAAM,CAAC,CAAA;IAC5B,IAAI,GAAW,MAAM,CAAA;IACrB,SAAS,GAAY,IAAI,CAAA;IAExB,OAAO,GAAG,EAAwB,CAAA;IAClC,SAAS,GAAG,EAA0B,CAAA;IAC/C,MAAM,GAAqB,IAAI,CAAA;IAC/B,IAAI,GAAqB,IAAI,CAAA;IAE9B,MAAM,CAAE,IAAY,EAAE,KAAU,EAAE,OAAgB;QACvD,qBAAM,CAAC,EAAE,CAAC,IAAI,IAAI,YAAY,EAC5B,mBAAmB,IAAI,uBAAuB,CAAC,CAAA;QAEjD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QAEhC,KAAK,MAAM,IAAI,IAAI,OAAO;YACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;QAE7D,OAAO,IAAA,iBAAK,EAAC,KAAK,EAChB,WAAI,EAAE,GAAG,EAAE,CAAC,IAAI,WAAI,CAAC,KAA0B,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EACtE,WAAI,EAAE,GAAG,EAAE,CAAC,IAAI,WAAI,CAAC,KAA+B,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAC7E,eAAM,EAAE,GAAG,EAAE,CAAC,IAAI,eAAM,CAAC,KAAe,EAAE,IAAI,CAAC,SAAS,CAAC,EACzD,mBAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,mBAAQ,CAAC,KAAe,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EACnE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IAC3B,CAAC;IAEM,KAAK,CAAC,SAAS,CAAE,UAAuB,EAC7C,KAAY,EACZ,UAAuB;QACvB;;;;;;WAMG;QACH,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,IAAI,SAAS,YAAY,eAAM,EAAE,KAAK,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Authorization.js","sourceRoot":"","sources":["../../../source/directives/auth/Authorization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { OutgoingMessage } from '../../HTTP';
|
|
2
|
+
import type { Directive, Identity, Input } from './types';
|
|
3
3
|
export declare class Echo implements Directive {
|
|
4
|
-
authorize(identity: Identity | null): boolean;
|
|
4
|
+
authorize(identity: Identity | null, input: Input): boolean;
|
|
5
5
|
reply(identity: Identity | null): OutgoingMessage;
|
|
6
|
+
private create;
|
|
6
7
|
}
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Echo = void 0;
|
|
4
|
+
const generic_1 = require("@toa.io/generic");
|
|
4
5
|
class Echo {
|
|
5
|
-
authorize(identity) {
|
|
6
|
-
|
|
6
|
+
authorize(identity, input) {
|
|
7
|
+
if (identity === null && 'authorization' in input.request.headers)
|
|
8
|
+
return false;
|
|
9
|
+
input.identity ??= this.create();
|
|
10
|
+
return true;
|
|
7
11
|
}
|
|
8
12
|
reply(identity) {
|
|
9
|
-
|
|
13
|
+
const body = identity;
|
|
14
|
+
return body.scheme === null
|
|
15
|
+
? { status: 201, body }
|
|
16
|
+
: { body };
|
|
17
|
+
}
|
|
18
|
+
create() {
|
|
19
|
+
return { id: (0, generic_1.newid)(), scheme: null, refresh: false, roles: [] };
|
|
10
20
|
}
|
|
11
21
|
}
|
|
12
22
|
exports.Echo = Echo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Echo.js","sourceRoot":"","sources":["../../../source/directives/auth/Echo.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Echo.js","sourceRoot":"","sources":["../../../source/directives/auth/Echo.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AAIvC,MAAa,IAAI;IACR,SAAS,CAAE,QAAyB,EAAE,KAAY;QACvD,IAAI,QAAQ,KAAK,IAAI,IAAI,eAAe,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO;YAC/D,OAAO,KAAK,CAAA;QAEd,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,MAAM,EAAE,CAAA;QAEhC,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,KAAK,CAAE,QAAyB;QACrC,MAAM,IAAI,GAAG,QAAS,CAAA;QAEtB,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI;YACzB,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;YACvB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAA;IACd,CAAC;IAEO,MAAM;QACZ,OAAO,EAAE,EAAE,EAAE,IAAA,eAAK,GAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;IACjE,CAAC;CACF;AArBD,oBAqBC"}
|
|
@@ -39,7 +39,7 @@ class Scheme {
|
|
|
39
39
|
const [scheme] = (0, split_1.split)(input.request.headers.authorization);
|
|
40
40
|
if (scheme !== this.scheme)
|
|
41
41
|
throw new http.Forbidden(this.Scheme +
|
|
42
|
-
' authentication scheme is required to access this resource
|
|
42
|
+
' authentication scheme is required to access this resource');
|
|
43
43
|
return false;
|
|
44
44
|
}
|
|
45
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scheme.js","sourceRoot":"","sources":["../../../source/directives/auth/Scheme.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAkC;AAElC,mCAA+B;AAE/B,MAAa,MAAM;IACA,MAAM,CAAQ;IACd,MAAM,CAAQ;IAE/B,YAAoB,MAAc;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC7D,CAAC;IAEM,SAAS,CAAE,CAAkB,EAAE,KAAY;QAChD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;YACnD,OAAO,KAAK,CAAA;QAEd,MAAM,CAAC,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAE3D,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM;YACxB,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM;gBAClC,
|
|
1
|
+
{"version":3,"file":"Scheme.js","sourceRoot":"","sources":["../../../source/directives/auth/Scheme.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAkC;AAElC,mCAA+B;AAE/B,MAAa,MAAM;IACA,MAAM,CAAQ;IACd,MAAM,CAAQ;IAE/B,YAAoB,MAAc;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC7D,CAAC;IAEM,SAAS,CAAE,CAAkB,EAAE,KAAY;QAChD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS;YACnD,OAAO,KAAK,CAAA;QAEd,MAAM,CAAC,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAE3D,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM;YACxB,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM;gBAClC,4DAA4D,CAAC,CAAA;QAEjE,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AArBD,wBAqBC"}
|
|
@@ -55,7 +55,7 @@ class Output {
|
|
|
55
55
|
return;
|
|
56
56
|
if (typeof message.body !== 'object' || this.permissions.length === 0) {
|
|
57
57
|
if (this.omitted)
|
|
58
|
-
openspan_1.console.warn('Permissions for \'io:output\' are not specified properly
|
|
58
|
+
openspan_1.console.warn('Permissions for \'io:output\' are not specified properly, response omitted', { path: context.url.pathname });
|
|
59
59
|
delete message.body;
|
|
60
60
|
return;
|
|
61
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Output.js","sourceRoot":"","sources":["../../../source/directives/io/Output.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAoC;AACpC,uCAAkC;AAClC,mDAAoC;AAMpC,MAAa,MAAM;IACA,QAAQ,GAAY,KAAK,CAAA;IACzB,OAAO,GAAY,IAAI,CAAA;IACvB,WAAW,GAAa,EAAE,CAAA;IAE3C,YAAoB,WAAwB;QAC1C,IAAI,OAAO,WAAW,KAAK,SAAS;YAClC,IAAI,WAAW;gBACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;;gBAEpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;;YAGtB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAClC,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAE,WAAoB;QAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,gCAAgC,CAAC,CAAA;IACxE,CAAC;IAEM,MAAM,CAAE,OAAgB;QAC7B,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;IAC5D,CAAC;IAEO,WAAW,CAAE,OAAgB;QACnC,OAAO,CAAC,OAAwB,EAAQ,EAAE;YACxC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,CAAA;YACnE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,YAAY,oBAAM,CAAA;YAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAA;YAEhE,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,IAAI,MAAM,IAAI,IAAI;gBAC1C,OAAM;YAER,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtE,IAAI,IAAI,CAAC,OAAO;oBACd,kBAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"Output.js","sourceRoot":"","sources":["../../../source/directives/io/Output.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAoC;AACpC,uCAAkC;AAClC,mDAAoC;AAMpC,MAAa,MAAM;IACA,QAAQ,GAAY,KAAK,CAAA;IACzB,OAAO,GAAY,IAAI,CAAA;IACvB,WAAW,GAAa,EAAE,CAAA;IAE3C,YAAoB,WAAwB;QAC1C,IAAI,OAAO,WAAW,KAAK,SAAS;YAClC,IAAI,WAAW;gBACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;;gBAEpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;;YAGtB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAClC,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAE,WAAoB;QAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,gCAAgC,CAAC,CAAA;IACxE,CAAC;IAEM,MAAM,CAAE,OAAgB;QAC7B,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;IAC5D,CAAC;IAEO,WAAW,CAAE,OAAgB;QACnC,OAAO,CAAC,OAAwB,EAAQ,EAAE;YACxC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,CAAA;YACnE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,YAAY,oBAAM,CAAA;YAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAA;YAEhE,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,IAAI,MAAM,IAAI,IAAI;gBAC1C,OAAM;YAER,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtE,IAAI,IAAI,CAAC,OAAO;oBACd,kBAAO,CAAC,IAAI,CAAC,4EAA4E,EACvF,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;gBAEnC,OAAO,OAAO,CAAC,IAAI,CAAA;gBAEnB,OAAM;YACR,CAAC;YAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAU,OAAO,CAAC,IAAI,EAC5C,oEAAoE,CAAC,CAAA;YAEvE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC7B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAiB,CAAC,CAAC,CAAA;;gBAExE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACzC,CAAC,CAAA;IACH,CAAC;IAEO,GAAG,CAAE,OAAgB;QAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;aACpC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QAEpD,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;CACF;AA3DD,wBA2DC"}
|
|
@@ -43,16 +43,16 @@ class Delete extends Directive_1.Directive {
|
|
|
43
43
|
}
|
|
44
44
|
async apply(storage, input, parameters) {
|
|
45
45
|
this.storage ??= await this.discovery;
|
|
46
|
-
const entry = await this.storage.invoke('get', {
|
|
47
|
-
input: {
|
|
48
|
-
storage,
|
|
49
|
-
path: input.request.url
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
if (entry instanceof Error)
|
|
53
|
-
throw new HTTP_1.NotFound();
|
|
54
46
|
const output = {};
|
|
55
47
|
if (this.workflow !== undefined) {
|
|
48
|
+
const entry = await this.storage.invoke('head', {
|
|
49
|
+
input: {
|
|
50
|
+
storage,
|
|
51
|
+
path: input.request.url
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
if (entry instanceof Error)
|
|
55
|
+
throw new HTTP_1.NotFound();
|
|
56
56
|
output.status = 202;
|
|
57
57
|
output.body = stream_1.Readable.from(this.execute(input, storage, entry, parameters));
|
|
58
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Delete.js","sourceRoot":"","sources":["../../../source/directives/octets/Delete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAiC;AACjC,qCAAqC;AACrC,mDAAoC;AACpC,2CAAsC;AACtC,2CAAuC;AAUvC,MAAa,MAAO,SAAQ,qBAAS;IACnB,QAAQ,GAAG,IAAI,CAAA;IAEd,QAAQ,CAAW;IACnB,SAAS,CAAoB;IACtC,OAAO,GAAqB,IAAI,CAAA;IAExC,YAAoB,OAAuB,EAAE,SAA6B,EAAE,OAAgB;QAC1F,KAAK,EAAE,CAAA;QACP,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAEhC,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS;YACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAEzD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,KAAK,CAAE,OAAe,EAAE,KAAY,EAAE,UAAuB;QACxE,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,SAAS,CAAA;QAErC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAe,
|
|
1
|
+
{"version":3,"file":"Delete.js","sourceRoot":"","sources":["../../../source/directives/octets/Delete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAiC;AACjC,qCAAqC;AACrC,mDAAoC;AACpC,2CAAsC;AACtC,2CAAuC;AAUvC,MAAa,MAAO,SAAQ,qBAAS;IACnB,QAAQ,GAAG,IAAI,CAAA;IAEd,QAAQ,CAAW;IACnB,SAAS,CAAoB;IACtC,OAAO,GAAqB,IAAI,CAAA;IAExC,YAAoB,OAAuB,EAAE,SAA6B,EAAE,OAAgB;QAC1F,KAAK,EAAE,CAAA;QACP,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAEhC,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS;YACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAEzD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,KAAK,CAAE,OAAe,EAAE,KAAY,EAAE,UAAuB;QACxE,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,SAAS,CAAA;QAErC,MAAM,MAAM,GAAW,EAAE,CAAA;QAEzB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAe,MAAM,EAC1D;gBACE,KAAK,EAAE;oBACL,OAAO;oBACP,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG;iBACxB;aACF,CAAC,CAAA;YAEJ,IAAI,KAAK,YAAY,KAAK;gBACxB,MAAM,IAAI,eAAQ,EAAE,CAAA;YAEtB,MAAM,CAAC,MAAM,GAAG,GAAG,CAAA;YACnB,MAAM,CAAC,IAAI,GAAG,iBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAA;QAC9E,CAAC;;YACC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;QAEnC,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,KAAK,CAAC,MAAM,CAAE,OAAe,EAAE,KAAY;QACjD,oEAAoE;QACpE,MAAM,IAAI,CAAC,OAAQ,CAAC,MAAM,CAAC,QAAQ,EACjC;YACE,KAAK,EAAE;gBACL,OAAO;gBACP,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG;aACxB;SACF,CAAC,CAAA;IACN,CAAC;IAED,sCAAsC;IAC9B,KAAK,CAAC,CAAE,OAAO,CACtB,KAAY,EAAE,OAAe,EAAE,KAAY,EAAE,UAAuB;QACnE,oEAAoE;QACpE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,QAAS,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC;YACpF,MAAM,KAAK,CAAA;YAEX,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK;gBACjE,OAAM;QACV,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACnC,CAAC;CACF;AAlED,wBAkEC"}
|
|
@@ -2,17 +2,16 @@ import { Directive } from './Directive';
|
|
|
2
2
|
import type { Component } from '@toa.io/core';
|
|
3
3
|
import type { Output } from '../../io';
|
|
4
4
|
import type { Input } from './types';
|
|
5
|
-
export declare class
|
|
5
|
+
export declare class Get extends Directive {
|
|
6
6
|
readonly targeted = true;
|
|
7
7
|
private readonly options;
|
|
8
8
|
private readonly discovery;
|
|
9
9
|
private storage;
|
|
10
10
|
constructor(options: Options | null, discovery: Promise<Component>);
|
|
11
11
|
apply(storage: string, input: Input): Promise<Output>;
|
|
12
|
-
private fetch;
|
|
13
12
|
private get;
|
|
13
|
+
private head;
|
|
14
14
|
}
|
|
15
15
|
export interface Options {
|
|
16
|
-
blob?: boolean;
|
|
17
16
|
meta?: boolean;
|
|
18
17
|
}
|
|
@@ -23,61 +23,56 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
27
|
-
const node_path_1 = require("node:path");
|
|
26
|
+
exports.Get = void 0;
|
|
28
27
|
const HTTP_1 = require("../../HTTP");
|
|
29
28
|
const schemas = __importStar(require("./schemas"));
|
|
30
29
|
const Directive_1 = require("./Directive");
|
|
31
|
-
class
|
|
30
|
+
class Get extends Directive_1.Directive {
|
|
32
31
|
targeted = true;
|
|
33
32
|
options = {
|
|
34
|
-
blob: true,
|
|
35
33
|
meta: false
|
|
36
34
|
};
|
|
37
35
|
discovery;
|
|
38
36
|
storage;
|
|
39
37
|
constructor(options, discovery) {
|
|
40
38
|
super();
|
|
41
|
-
schemas.
|
|
39
|
+
schemas.get.validate(options);
|
|
42
40
|
Object.assign(this.options, options);
|
|
43
41
|
this.discovery = discovery;
|
|
44
42
|
}
|
|
45
43
|
async apply(storage, input) {
|
|
46
44
|
this.storage ??= await this.discovery;
|
|
47
|
-
|
|
48
|
-
const metadata = input.subtype === 'octets.entry';
|
|
49
|
-
if (!variant && metadata)
|
|
45
|
+
if (input.subtype === 'octets.entry')
|
|
50
46
|
if (this.options.meta)
|
|
51
|
-
return this.
|
|
47
|
+
return this.head(storage, input);
|
|
52
48
|
else
|
|
53
|
-
throw new HTTP_1.Forbidden('Metadata is not accessible
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return await this.fetch(storage, input);
|
|
49
|
+
throw new HTTP_1.Forbidden('Metadata is not accessible');
|
|
50
|
+
else
|
|
51
|
+
return await this.get(storage, input);
|
|
57
52
|
}
|
|
58
|
-
async
|
|
53
|
+
async get(storage, input) {
|
|
59
54
|
if ('if-none-match' in input.request.headers)
|
|
60
55
|
return { status: 304 };
|
|
61
|
-
const
|
|
56
|
+
const entry = await this.storage.invoke('get', {
|
|
62
57
|
input: {
|
|
63
58
|
storage,
|
|
64
59
|
path: input.request.url
|
|
65
60
|
}
|
|
66
61
|
});
|
|
67
|
-
if (
|
|
62
|
+
if (entry instanceof Error)
|
|
68
63
|
throw new HTTP_1.NotFound();
|
|
69
64
|
const headers = new Headers({
|
|
70
|
-
'content-type':
|
|
71
|
-
'content-length':
|
|
72
|
-
etag: `"${
|
|
65
|
+
'content-type': entry.type,
|
|
66
|
+
'content-length': entry.size.toString(),
|
|
67
|
+
etag: `"${entry.checksum}"`
|
|
73
68
|
});
|
|
74
69
|
return {
|
|
75
70
|
headers,
|
|
76
|
-
body:
|
|
71
|
+
body: entry.stream
|
|
77
72
|
};
|
|
78
73
|
}
|
|
79
|
-
async
|
|
80
|
-
const entry = await this.storage.invoke('
|
|
74
|
+
async head(storage, input) {
|
|
75
|
+
const entry = await this.storage.invoke('head', {
|
|
81
76
|
input: {
|
|
82
77
|
storage,
|
|
83
78
|
path: input.request.url
|
|
@@ -88,5 +83,5 @@ class Fetch extends Directive_1.Directive {
|
|
|
88
83
|
return { body: entry };
|
|
89
84
|
}
|
|
90
85
|
}
|
|
91
|
-
exports.
|
|
92
|
-
//# sourceMappingURL=
|
|
86
|
+
exports.Get = Get;
|
|
87
|
+
//# sourceMappingURL=Get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Get.js","sourceRoot":"","sources":["../../../source/directives/octets/Get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAgD;AAChD,mDAAoC;AACpC,2CAAuC;AAOvC,MAAa,GAAI,SAAQ,qBAAS;IAChB,QAAQ,GAAG,IAAI,CAAA;IAEd,OAAO,GAAsB;QAC5C,IAAI,EAAE,KAAK;KACZ,CAAA;IAEgB,SAAS,CAAoB;IACtC,OAAO,CAAY;IAE3B,YAAoB,OAAuB,EAAE,SAA6B;QACxE,KAAK,EAAE,CAAA;QAEP,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAEpC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,KAAK,CAAE,OAAe,EAAE,KAAY;QAC/C,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,SAAS,CAAA;QAErC,IAAI,KAAK,CAAC,OAAO,KAAK,cAAc;YAClC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI;gBACnB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;;gBAEhC,MAAM,IAAI,gBAAS,CAAC,4BAA4B,CAAC,CAAA;;YAEnD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACzC,CAAC;IAEO,KAAK,CAAC,GAAG,CAAE,OAAe,EAAE,KAAY;QAC9C,IAAI,eAAe,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO;YAC1C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;QAExB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAgB,KAAK,EAAE;YAC5D,KAAK,EAAE;gBACL,OAAO;gBACP,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG;aACxB;SACF,CAAC,CAAA;QAEF,IAAI,KAAK,YAAY,KAAK;YACxB,MAAM,IAAI,eAAQ,EAAE,CAAA;QAEtB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,cAAc,EAAE,KAAK,CAAC,IAAI;YAC1B,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;YACvC,IAAI,EAAE,IAAI,KAAK,CAAC,QAAQ,GAAG;SAC5B,CAAC,CAAA;QAEF,OAAO;YACL,OAAO;YACP,IAAI,EAAE,KAAK,CAAC,MAAM;SACnB,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,IAAI,CAAE,OAAe,EAAE,KAAY;QAC/C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAe,MAAM,EAAE;YAC5D,KAAK,EAAE;gBACL,OAAO;gBACP,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG;aACxB;SACF,CAAC,CAAA;QAEF,IAAI,KAAK,YAAY,KAAK;YACxB,MAAM,IAAI,eAAQ,EAAE,CAAA;QAEtB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;IACxB,CAAC;CACF;AAtED,kBAsEC"}
|
|
@@ -3,9 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Octets = void 0;
|
|
4
4
|
const HTTP_1 = require("../../HTTP");
|
|
5
5
|
const Context_1 = require("./Context");
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const List_1 = require("./List");
|
|
6
|
+
const Put_1 = require("./Put");
|
|
7
|
+
const Get_1 = require("./Get");
|
|
9
8
|
const Delete_1 = require("./Delete");
|
|
10
9
|
const Workflow_1 = require("./Workflow");
|
|
11
10
|
class Octets {
|
|
@@ -28,12 +27,12 @@ class Octets {
|
|
|
28
27
|
else if (action === null)
|
|
29
28
|
action = directive;
|
|
30
29
|
else
|
|
31
|
-
throw new Error('Octets action is
|
|
30
|
+
throw new Error('Octets action is ambiguous');
|
|
32
31
|
if (action === null)
|
|
33
32
|
return null;
|
|
34
33
|
// noinspection PointlessBooleanExpressionJS
|
|
35
34
|
if (context === null)
|
|
36
|
-
throw new Error('Octets context is not defined
|
|
35
|
+
throw new Error('Octets context is not defined');
|
|
37
36
|
const targeted = input.request.url[input.request.url.length - 1] !== '/';
|
|
38
37
|
if (targeted !== action.targeted)
|
|
39
38
|
throw new HTTP_1.NotFound(`Trailing slash is ${action.targeted ? 'redundant' : 'required'}.`);
|
|
@@ -44,9 +43,8 @@ class Octets {
|
|
|
44
43
|
exports.Octets = Octets;
|
|
45
44
|
const DIRECTIVES = {
|
|
46
45
|
context: Context_1.Context,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
list: List_1.List,
|
|
46
|
+
put: Put_1.Put,
|
|
47
|
+
get: Get_1.Get,
|
|
50
48
|
delete: Delete_1.Delete,
|
|
51
49
|
workflow: Workflow_1.WorkflowDirective
|
|
52
50
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Octets.js","sourceRoot":"","sources":["../../../source/directives/octets/Octets.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AACrC,uCAAmC;AACnC
|
|
1
|
+
{"version":3,"file":"Octets.js","sourceRoot":"","sources":["../../../source/directives/octets/Octets.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AACrC,uCAAmC;AACnC,+BAA2B;AAC3B,+BAA2B;AAC3B,qCAAiC;AACjC,yCAA8C;AAQ9C,MAAa,MAAM;IACD,IAAI,GAAW,QAAQ,CAAA;IACvB,SAAS,GAAY,KAAK,CAAA;IAElC,SAAS,GAAG,IAAqC,CAAA;IAElD,MAAM,CAAE,IAAY,EAAE,KAAU,EAAE,OAAgB;QACvD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAE9B,IAAI,KAAK,KAAK,SAAS;YACrB,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,uBAAuB,CAAC,CAAA;QAEnE,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAExD,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;IAEM,KAAK,CAAC,SAAS,CACrB,UAAuB,EAAE,KAAY,EAAE,UAAuB;QAC7D,IAAI,OAAO,GAAmB,IAAI,CAAA;QAClC,IAAI,MAAM,GAAqB,IAAI,CAAA;QAEnC,KAAK,MAAM,SAAS,IAAI,UAAU;YAChC,IAAI,SAAS,YAAY,iBAAO;gBAC9B,OAAO,KAAK,SAAS,CAAA;iBAClB,IAAI,MAAM,KAAK,IAAI;gBACtB,MAAM,GAAG,SAAS,CAAA;;gBAElB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAEjD,IAAI,MAAM,KAAK,IAAI;YACjB,OAAO,IAAI,CAAA;QAEb,4CAA4C;QAC5C,IAAI,OAAO,KAAK,IAAI;YAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAElD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAA;QAExE,IAAI,QAAQ,KAAK,MAAM,CAAC,QAAQ;YAC9B,MAAM,IAAI,eAAQ,CAAC,qBAAqB,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAA;QAExF,uCAAuC;QACvC,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAA;IAClG,CAAC;CACF;AA7CD,wBA6CC;AAED,MAAM,UAAU,GAAgC;IAC9C,OAAO,EAAE,iBAAO;IAChB,GAAG,EAAE,SAAG;IACR,GAAG,EAAE,SAAG;IACR,MAAM,EAAE,eAAM;IACd,QAAQ,EAAE,4BAAiB;CAC5B,CAAA"}
|
|
@@ -5,7 +5,7 @@ import type { Remotes } from '../../Remotes';
|
|
|
5
5
|
import type { Component } from '@toa.io/core';
|
|
6
6
|
import type { Output } from '../../io';
|
|
7
7
|
import type { Input } from './types';
|
|
8
|
-
export declare class
|
|
8
|
+
export declare class Put extends Directive {
|
|
9
9
|
readonly targeted = false;
|
|
10
10
|
private readonly accept?;
|
|
11
11
|
private readonly limit;
|
|
@@ -19,7 +19,7 @@ export declare class Store extends Directive {
|
|
|
19
19
|
private reply;
|
|
20
20
|
private execute;
|
|
21
21
|
private throw;
|
|
22
|
-
private
|
|
22
|
+
private attributes;
|
|
23
23
|
}
|
|
24
24
|
export interface Options {
|
|
25
25
|
accept?: string | string[];
|
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
26
|
+
exports.Put = void 0;
|
|
27
27
|
const node_stream_1 = require("node:stream");
|
|
28
28
|
const matchacho_1 = require("matchacho");
|
|
29
29
|
const http = __importStar(require("../../HTTP"));
|
|
@@ -32,7 +32,7 @@ const schemas = __importStar(require("./schemas"));
|
|
|
32
32
|
const workflows_1 = require("./workflows");
|
|
33
33
|
const Directive_1 = require("./Directive");
|
|
34
34
|
const bytes_1 = require("./bytes");
|
|
35
|
-
class
|
|
35
|
+
class Put extends Directive_1.Directive {
|
|
36
36
|
targeted = false;
|
|
37
37
|
accept;
|
|
38
38
|
limit;
|
|
@@ -43,7 +43,7 @@ class Store extends Directive_1.Directive {
|
|
|
43
43
|
storage = null;
|
|
44
44
|
constructor(options, discovery, remotes) {
|
|
45
45
|
super();
|
|
46
|
-
schemas.
|
|
46
|
+
schemas.put.validate(options);
|
|
47
47
|
this.accept = (0, matchacho_1.match)(options?.accept, String, (value) => value, Array, (types) => types.join(','), undefined);
|
|
48
48
|
if (options?.workflow !== undefined)
|
|
49
49
|
this.workflow = new workflows_1.Workflow(options.workflow, remotes);
|
|
@@ -52,7 +52,7 @@ class Store extends Directive_1.Directive {
|
|
|
52
52
|
this.limitString = options?.limit ?? '64MiB';
|
|
53
53
|
this.limit = (0, bytes_1.toBytes)(this.limitString);
|
|
54
54
|
this.discovery.storage = discovery;
|
|
55
|
-
cors_1.cors.allow('content-
|
|
55
|
+
cors_1.cors.allow('content-attributes');
|
|
56
56
|
cors_1.cors.allow('content-location');
|
|
57
57
|
}
|
|
58
58
|
async apply(storage, input, parameters) {
|
|
@@ -66,10 +66,7 @@ class Store extends Directive_1.Directive {
|
|
|
66
66
|
trust: this.trust
|
|
67
67
|
}
|
|
68
68
|
};
|
|
69
|
-
const
|
|
70
|
-
if (meta !== undefined)
|
|
71
|
-
request.input.meta = this.meta(meta);
|
|
72
|
-
const entry = await this.storage.invoke('store', request);
|
|
69
|
+
const entry = await this.storage.invoke('put', request);
|
|
73
70
|
return (0, matchacho_1.match)(entry, Error, (error) => this.throw(error), () => this.reply(input, storage, entry, parameters));
|
|
74
71
|
}
|
|
75
72
|
// eslint-disable-next-line max-params
|
|
@@ -89,17 +86,17 @@ class Store extends Directive_1.Directive {
|
|
|
89
86
|
throw(error) {
|
|
90
87
|
throw (0, matchacho_1.match)(error.code, 'NOT_ACCEPTABLE', () => new http.UnsupportedMediaType(), 'TYPE_MISMATCH', () => new http.BadRequest(), 'LIMIT_EXCEEDED', () => new http.RequestEntityTooLarge(`Size limit is ${this.limitString}`), 'LOCATION_UNTRUSTED', () => new http.Forbidden(error.message), 'LOCATION_LENGTH', () => new http.BadRequest(error.message), 'LOCATION_UNAVAILABLE', () => new http.NotFound(error.message), error);
|
|
91
88
|
}
|
|
92
|
-
|
|
89
|
+
attributes(value) {
|
|
93
90
|
if (Array.isArray(value))
|
|
94
91
|
value = value.join(',');
|
|
95
|
-
const
|
|
92
|
+
const attributes = {};
|
|
96
93
|
for (const pair of value.split(',')) {
|
|
97
94
|
const eq = pair.indexOf('=');
|
|
98
95
|
const key = (eq === -1 ? pair : pair.slice(0, eq)).trim();
|
|
99
|
-
|
|
96
|
+
attributes[key] = eq === -1 ? 'true' : pair.slice(eq + 1).trim();
|
|
100
97
|
}
|
|
101
|
-
return
|
|
98
|
+
return attributes;
|
|
102
99
|
}
|
|
103
100
|
}
|
|
104
|
-
exports.
|
|
105
|
-
//# sourceMappingURL=
|
|
101
|
+
exports.Put = Put;
|
|
102
|
+
//# sourceMappingURL=Put.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Put.js","sourceRoot":"","sources":["../../../source/directives/octets/Put.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,7 +41,7 @@ class WorkflowDirective extends Directive_1.Directive {
|
|
|
41
41
|
}
|
|
42
42
|
async apply(storage, input, parameters) {
|
|
43
43
|
this.storage ??= await this.discovery;
|
|
44
|
-
const entry = await this.storage.invoke('
|
|
44
|
+
const entry = await this.storage.invoke('head', {
|
|
45
45
|
input: {
|
|
46
46
|
storage,
|
|
47
47
|
path: input.request.url
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Workflow.js","sourceRoot":"","sources":["../../../source/directives/octets/Workflow.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAqC;AACrC,mDAAoC;AACpC,2CAAsC;AACtC,2CAAuC;AAUvC,MAAa,iBAAkB,SAAQ,qBAAS;IAC9B,QAAQ,GAAG,IAAI,CAAA;IAEd,QAAQ,CAAU;IAClB,SAAS,CAAoB;IACtC,OAAO,GAAqB,IAAI,CAAA;IAExC,YAAoB,KAAoB,EAAE,SAA6B,EAAE,OAAgB;QACvF,KAAK,EAAE,CAAA;QACP,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAEhC,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,KAAK,CAAE,OAAe,EAAE,KAAY,EAAE,UAAuB;QACxE,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,SAAS,CAAA;QAErC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAe,
|
|
1
|
+
{"version":3,"file":"Workflow.js","sourceRoot":"","sources":["../../../source/directives/octets/Workflow.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAqC;AACrC,mDAAoC;AACpC,2CAAsC;AACtC,2CAAuC;AAUvC,MAAa,iBAAkB,SAAQ,qBAAS;IAC9B,QAAQ,GAAG,IAAI,CAAA;IAEd,QAAQ,CAAU;IAClB,SAAS,CAAoB;IACtC,OAAO,GAAqB,IAAI,CAAA;IAExC,YAAoB,KAAoB,EAAE,SAA6B,EAAE,OAAgB;QACvF,KAAK,EAAE,CAAA;QACP,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAEhC,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,KAAK,CAAE,OAAe,EAAE,KAAY,EAAE,UAAuB;QACxE,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,SAAS,CAAA;QAErC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAe,MAAM,EAC1D;YACE,KAAK,EAAE;gBACL,OAAO;gBACP,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG;aACxB;SACF,CAAC,CAAA;QAEJ,IAAI,KAAK,YAAY,KAAK;YACxB,MAAM,IAAI,eAAQ,EAAE,CAAA;QAEtB,OAAO;YACL,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC;SAC/D,CAAA;IACH,CAAC;CACF;AAlCD,8CAkCC"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import type { Options as
|
|
2
|
-
import type { Options as
|
|
3
|
-
import type { Options as StoreOptions } from './Store';
|
|
1
|
+
import type { Options as GetOptions } from './Get';
|
|
2
|
+
import type { Options as PutOptions } from './Put';
|
|
4
3
|
import type { Options as DeleteOptions } from './Delete';
|
|
5
4
|
import type { Schema } from '@toa.io/schemas';
|
|
6
5
|
import type { Unit } from './workflows';
|
|
7
|
-
export declare const
|
|
8
|
-
export declare const
|
|
6
|
+
export declare const put: Schema<PutOptions | null>;
|
|
7
|
+
export declare const get: Schema<GetOptions | null>;
|
|
9
8
|
export declare const remove: Schema<DeleteOptions | null>;
|
|
10
|
-
export declare const list: Schema<ListOptions | null>;
|
|
11
9
|
export declare const workflow: Schema<Unit[] | Unit>;
|
|
@@ -3,14 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.workflow = exports.
|
|
6
|
+
exports.workflow = exports.remove = exports.get = exports.put = void 0;
|
|
7
7
|
const node_path_1 = require("node:path");
|
|
8
8
|
const schemas_1 = __importDefault(require("@toa.io/schemas"));
|
|
9
9
|
const path = (0, node_path_1.resolve)(__dirname, '../../../schemas/octets');
|
|
10
10
|
const namespace = schemas_1.default.namespace(path);
|
|
11
|
-
exports.
|
|
12
|
-
exports.
|
|
11
|
+
exports.put = namespace.schema('put');
|
|
12
|
+
exports.get = namespace.schema('get');
|
|
13
13
|
exports.remove = namespace.schema('delete');
|
|
14
|
-
exports.list = namespace.schema('list');
|
|
15
14
|
exports.workflow = namespace.schema('workflow');
|
|
16
15
|
//# sourceMappingURL=schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../source/directives/octets/schemas.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAmC;AACnC,8DAAqC;
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../source/directives/octets/schemas.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAmC;AACnC,8DAAqC;AAOrC,MAAM,IAAI,GAAG,IAAA,mBAAO,EAAC,SAAS,EAAE,yBAAyB,CAAC,CAAA;AAC1D,MAAM,SAAS,GAAG,iBAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;AAE5B,QAAA,GAAG,GAA8B,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACxD,QAAA,GAAG,GAA8B,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACxD,QAAA,MAAM,GAAiC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AACjE,QAAA,QAAQ,GAA0B,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Execution } from './Execution';
|
|
2
|
+
import type { Entry } from '@toa.io/extensions.storages';
|
|
2
3
|
import type { Parameter } from '../../../RTD';
|
|
3
4
|
import type { Input } from '../types';
|
|
4
|
-
import type { Entry } from '@toa.io/extensions.storages';
|
|
5
5
|
import type { Remotes } from '../../../Remotes';
|
|
6
6
|
export declare class Workflow {
|
|
7
7
|
private readonly units;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Workflow.js","sourceRoot":"","sources":["../../../../source/directives/octets/workflows/Workflow.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AACjC,yCAAiC;AACjC,2CAAuC;AAOvC,MAAa,QAAQ;IACF,KAAK,CAAQ;IACb,OAAO,CAAS;IAEjC,YAAoB,KAAoB,EAAE,OAAgB;QACxD,IAAI,CAAC,KAAK,GAAG,IAAA,iBAAK,EAAS,KAAK,EAC9B,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,EAC/B,MAAM,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAEjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,sCAAsC;IAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"Workflow.js","sourceRoot":"","sources":["../../../../source/directives/octets/workflows/Workflow.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AACjC,yCAAiC;AACjC,2CAAuC;AAOvC,MAAa,QAAQ;IACF,KAAK,CAAQ;IACb,OAAO,CAAS;IAEjC,YAAoB,KAAoB,EAAE,OAAgB;QACxD,IAAI,CAAC,KAAK,GAAG,IAAA,iBAAK,EAAS,KAAK,EAC9B,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,EAC/B,MAAM,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAEjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,sCAAsC;IAC/B,OAAO,CAAE,KAAY,EAAE,OAAe,EAAE,KAAY,EAAE,MAAmB;QAC9E,MAAM,IAAI,GAAG,iBAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;QACpD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QACjC,MAAM,UAAU,GAA2B,EAAE,CAAA;QAE7C,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM;YAClC,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;QAE1B,MAAM,OAAO,GAAY,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAA;QAExE,OAAO,IAAI,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACzD,CAAC;CACF;AAzBD,4BAyBC"}
|
|
@@ -12,8 +12,8 @@ class Language {
|
|
|
12
12
|
cors_1.cors.allow('accept-language');
|
|
13
13
|
}
|
|
14
14
|
resolve(input, properties) {
|
|
15
|
-
node_assert_1.default.ok(properties.languages !== undefined, 'Supported languages are not defined. Use `vary:languages` directive
|
|
16
|
-
node_assert_1.default.ok(properties.languages.length > 0, 'List of supported languages is empty
|
|
15
|
+
node_assert_1.default.ok(properties.languages !== undefined, 'Supported languages are not defined. Use `vary:languages` directive');
|
|
16
|
+
node_assert_1.default.ok(properties.languages.length > 0, 'List of supported languages is empty');
|
|
17
17
|
const negotiator = new negotiator_1.default(input.request);
|
|
18
18
|
const language = negotiator.language(properties.languages) ?? properties.languages[0];
|
|
19
19
|
input.pipelines.response.push((response) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Language.js","sourceRoot":"","sources":["../../../../source/directives/vary/embeddings/Language.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAgC;AAChC,4DAAmC;AACnC,qCAAiC;AAKjC,MAAa,QAAQ;IACnB;QACE,WAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAC/B,CAAC;IAEM,OAAO,CAAE,KAAY,EAAE,UAAsB;QAClD,qBAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS,EAC1C,
|
|
1
|
+
{"version":3,"file":"Language.js","sourceRoot":"","sources":["../../../../source/directives/vary/embeddings/Language.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAgC;AAChC,4DAAmC;AACnC,qCAAiC;AAKjC,MAAa,QAAQ;IACnB;QACE,WAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAC/B,CAAC;IAEM,OAAO,CAAE,KAAY,EAAE,UAAsB;QAClD,qBAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS,EAC1C,qEAAqE,CAAC,CAAA;QAExE,qBAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EACvC,sCAAsC,CAAC,CAAA;QAEzC,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAChD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAErF,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACzC,QAAQ,CAAC,OAAO,KAAK,IAAI,OAAO,EAAE,CAAA;YAClC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;YAClD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF;AAvBD,4BAuBC"}
|