@toa.io/extensions.exposition 1.0.0-alpha.46 → 1.0.0-alpha.48

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.
Files changed (35) hide show
  1. package/documentation/flow.md +31 -0
  2. package/documentation/octets.md +0 -4
  3. package/features/flow.feature +45 -0
  4. package/features/steps/components/octets.tester/manifest.toa.yaml +12 -1
  5. package/features/steps/components/octets.tester/operations/redirect.js +7 -2
  6. package/package.json +7 -7
  7. package/schemas/octets/fetch.cos.yaml +0 -1
  8. package/source/directives/auth/Incept.ts +1 -1
  9. package/source/directives/flow/Fetch.ts +88 -0
  10. package/source/directives/flow/Flow.ts +34 -0
  11. package/source/directives/flow/index.ts +3 -0
  12. package/source/directives/flow/types.ts +6 -0
  13. package/source/directives/index.ts +2 -1
  14. package/source/directives/octets/Fetch.ts +4 -57
  15. package/transpiled/directives/auth/Incept.js +1 -1
  16. package/transpiled/directives/auth/Incept.js.map +1 -1
  17. package/transpiled/directives/flow/Fetch.d.ts +13 -0
  18. package/transpiled/directives/flow/Fetch.js +59 -0
  19. package/transpiled/directives/flow/Fetch.js.map +1 -0
  20. package/transpiled/directives/flow/Flow.d.ts +10 -0
  21. package/transpiled/directives/flow/Flow.js +27 -0
  22. package/transpiled/directives/flow/Flow.js.map +1 -0
  23. package/transpiled/directives/flow/index.d.ts +2 -0
  24. package/transpiled/directives/flow/index.js +6 -0
  25. package/transpiled/directives/flow/index.js.map +1 -0
  26. package/transpiled/directives/flow/types.d.ts +5 -0
  27. package/transpiled/directives/flow/types.js +3 -0
  28. package/transpiled/directives/flow/types.js.map +1 -0
  29. package/transpiled/directives/index.js +2 -1
  30. package/transpiled/directives/index.js.map +1 -1
  31. package/transpiled/directives/octets/Fetch.d.ts +2 -9
  32. package/transpiled/directives/octets/Fetch.js +3 -41
  33. package/transpiled/directives/octets/Fetch.js.map +1 -1
  34. package/transpiled/tsconfig.tsbuildinfo +1 -1
  35. package/features/octets.redirect.feature +0 -27
@@ -25,7 +25,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.Fetch = void 0;
27
27
  const node_path_1 = require("node:path");
28
- const node_stream_1 = require("node:stream");
29
28
  const HTTP_1 = require("../../HTTP");
30
29
  const schemas = __importStar(require("./schemas"));
31
30
  const Directive_1 = require("./Directive");
@@ -33,24 +32,17 @@ class Fetch extends Directive_1.Directive {
33
32
  targeted = true;
34
33
  options = {
35
34
  blob: true,
36
- meta: false,
37
- redirect: null
35
+ meta: false
38
36
  };
39
37
  discovery;
40
38
  storage;
41
- remotes;
42
- connecting = null;
43
- remote;
44
- constructor(options, discovery, remotes) {
39
+ constructor(options, discovery) {
45
40
  super();
46
41
  schemas.fetch.validate(options);
47
42
  Object.assign(this.options, options);
48
43
  this.discovery = discovery;
49
- this.remotes = remotes;
50
44
  }
51
- async apply(storage, input, parameters) {
52
- if (this.options.redirect !== null)
53
- return this.redirect(input, parameters);
45
+ async apply(storage, input) {
54
46
  this.storage ??= await this.discovery;
55
47
  const variant = node_path_1.posix.basename(input.request.url).includes('.');
56
48
  const metadata = input.subtype === 'octets.entry';
@@ -84,36 +76,6 @@ class Fetch extends Directive_1.Directive {
84
76
  body: result.stream
85
77
  };
86
78
  }
87
- async redirect(input, parameters) {
88
- if ('if-none-match' in input.request.headers)
89
- return { status: 304 };
90
- const [operation, name, namespace = 'default'] = this.options.redirect.split('.').reverse();
91
- if (this.connecting === null)
92
- this.connecting = this.remotes.discover(namespace, name);
93
- this.remote ??= await this.connecting;
94
- const url = await this.remote.invoke(operation, {
95
- input: {
96
- authority: input.authority,
97
- path: input.request.url,
98
- parameters: Object.fromEntries(parameters.map(({ name, value }) => [name, value]))
99
- }
100
- });
101
- if (url instanceof Error)
102
- throw new HTTP_1.NotFound(url);
103
- const response = await fetch(url);
104
- if (!response.ok)
105
- throw new HTTP_1.NotFound();
106
- const headers = new Headers();
107
- for (const header of ['content-type', 'content-length', 'etag']) {
108
- const value = response.headers.get(header);
109
- if (value !== null)
110
- headers.set(header, value);
111
- }
112
- return {
113
- headers,
114
- body: response.body === null ? null : node_stream_1.Readable.fromWeb(response.body)
115
- };
116
- }
117
79
  async get(storage, input) {
118
80
  const entry = await this.storage.invoke('get', {
119
81
  input: {
@@ -1 +1 @@
1
- {"version":3,"file":"Fetch.js","sourceRoot":"","sources":["../../../source/directives/octets/Fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Fetch.js","sourceRoot":"","sources":["../../../source/directives/octets/Fetch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAiC;AACjC,qCAAgD;AAChD,mDAAoC;AACpC,2CAAuC;AAQvC,MAAa,KAAM,SAAQ,qBAAS;IAClB,QAAQ,GAAG,IAAI,CAAA;IAEd,OAAO,GAAsB;QAC5C,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,KAAK;KACZ,CAAA;IAEgB,SAAS,CAAoB;IACtC,OAAO,CAAY;IAE3B,YAAoB,OAAuB,EAAE,SAA6B;QACxE,KAAK,EAAE,CAAA;QAEP,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC/B,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,MAAM,OAAO,GAAG,iBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,KAAK,cAAc,CAAA;QAEjD,IAAI,CAAC,OAAO,IAAI,QAAQ;YACtB,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI;gBACnB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;;gBAE/B,MAAM,IAAI,gBAAS,CAAC,6BAA6B,CAAC,CAAA;QAEtD,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;YAChC,MAAM,IAAI,gBAAS,CAAC,iCAAiC,CAAC,CAAA;QAExD,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACzC,CAAC;IAEO,KAAK,CAAC,KAAK,CAAE,OAAe,EAAE,KAAY;QAChD,IAAI,eAAe,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO;YAC1C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAqB,OAAO,EAAE;YACpE,KAAK,EAAE;gBACL,OAAO;gBACP,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG;aACxB;SACF,CAAC,CAAA;QAEF,IAAI,MAAM,YAAY,KAAK;YACzB,MAAM,IAAI,eAAQ,EAAE,CAAA;QAEtB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,cAAc,EAAE,MAAM,CAAC,IAAI;YAC3B,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE;YACxC,IAAI,EAAE,MAAM,CAAC,QAAQ;SACtB,CAAC,CAAA;QAEF,OAAO;YACL,OAAO;YACP,IAAI,EAAE,MAAM,CAAC,MAAM;SACpB,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,GAAG,CAAE,OAAe,EAAE,KAAY;QAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAe,KAAK,EAAE;YAC3D,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;AA7ED,sBA6EC"}