@plurnk/plurnk-schemes-http 2.0.4 → 2.0.6

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 (64) hide show
  1. package/README.md +4 -4
  2. package/SPEC.md +122 -606
  3. package/dist/Guard.d.ts +4 -0
  4. package/dist/Guard.d.ts.map +1 -1
  5. package/dist/Guard.js +43 -5
  6. package/dist/Guard.js.map +1 -1
  7. package/dist/Http.d.ts +1 -1
  8. package/dist/Http.d.ts.map +1 -1
  9. package/dist/Http.js +22 -619
  10. package/dist/Http.js.map +1 -1
  11. package/dist/HttpCache.d.ts +10 -0
  12. package/dist/HttpCache.d.ts.map +1 -0
  13. package/dist/HttpCache.js +384 -0
  14. package/dist/HttpCache.js.map +1 -0
  15. package/dist/HttpGet.d.ts +5 -26
  16. package/dist/HttpGet.d.ts.map +1 -1
  17. package/dist/HttpGet.js +30 -63
  18. package/dist/HttpGet.js.map +1 -1
  19. package/dist/HttpRequester.d.ts +4 -15
  20. package/dist/HttpRequester.d.ts.map +1 -1
  21. package/dist/HttpRequester.js +31 -49
  22. package/dist/HttpRequester.js.map +1 -1
  23. package/dist/HttpShared.d.ts +42 -0
  24. package/dist/HttpShared.d.ts.map +1 -0
  25. package/dist/HttpShared.js +244 -0
  26. package/dist/HttpShared.js.map +1 -0
  27. package/dist/WebFetcher.d.ts +2 -7
  28. package/dist/WebFetcher.d.ts.map +1 -1
  29. package/dist/WebFetcher.js +14 -26
  30. package/dist/WebFetcher.js.map +1 -1
  31. package/dist/Ws.d.ts.map +1 -1
  32. package/dist/Ws.js +11 -7
  33. package/dist/Ws.js.map +1 -1
  34. package/dist/index.d.ts +0 -4
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +2 -5
  37. package/dist/index.js.map +1 -1
  38. package/docs/https.md +2 -2
  39. package/docs/wss.md +1 -1
  40. package/package.json +5 -5
  41. package/dist/Config.d.ts +0 -5
  42. package/dist/Config.d.ts.map +0 -1
  43. package/dist/Config.js +0 -13
  44. package/dist/Config.js.map +0 -1
  45. package/dist/ContentType.d.ts +0 -2
  46. package/dist/ContentType.d.ts.map +0 -1
  47. package/dist/ContentType.js +0 -15
  48. package/dist/ContentType.js.map +0 -1
  49. package/dist/ErrorDetail.d.ts +0 -5
  50. package/dist/ErrorDetail.d.ts.map +0 -1
  51. package/dist/ErrorDetail.js +0 -5
  52. package/dist/ErrorDetail.js.map +0 -1
  53. package/dist/HostPolicy.d.ts +0 -11
  54. package/dist/HostPolicy.d.ts.map +0 -1
  55. package/dist/HostPolicy.js +0 -58
  56. package/dist/HostPolicy.js.map +0 -1
  57. package/dist/LiveAcquisitions.d.ts +0 -8
  58. package/dist/LiveAcquisitions.d.ts.map +0 -1
  59. package/dist/LiveAcquisitions.js +0 -30
  60. package/dist/LiveAcquisitions.js.map +0 -1
  61. package/dist/http-names.d.ts +0 -5
  62. package/dist/http-names.d.ts.map +0 -1
  63. package/dist/http-names.js +0 -6
  64. package/dist/http-names.js.map +0 -1
package/dist/HttpGet.js CHANGED
@@ -1,85 +1,52 @@
1
1
  import { NetworkAddress, Results } from "@plurnk/plurnk-schemes";
2
+ import { fresh, materializerIdentity, refreshAfter304, requestMethod, reusableGetRepresentation, revalidationCorresponds, sourceMimetype, validators, } from "./HttpCache.js";
3
+ import { BODY, HEADER, LiveAcquisitions, httpAddress, httpBad, httpCancelled, httpMaterializationFailure, httpPassthrough, parseRequestHeaders, requireFlagEnv, seedEntry, settleEventStream, } from "./HttpShared.js";
2
4
  import WebFetcher, { WebMaterializationError } from "./WebFetcher.js";
3
- import { BODY, HEADER } from "./http-names.js";
4
- import LiveAcquisitions from "./LiveAcquisitions.js";
5
- import { requireFlagEnv } from "./Config.js";
6
5
  const LLMS_TEXT_ATTEMPT_TTL_MS = 3_600_000;
7
6
  export default class HttpGet {
8
7
  #webFetcher;
9
- #address;
10
- #requestHeaders;
11
- #passthrough;
12
- #requestMethod;
13
- #reusableGetRepresentation;
14
- #materializerIdentity;
15
- #validators;
16
- #materializationFailure;
17
- #sourceMimetype;
18
- #fresh;
19
- #cancelled;
20
- #bad;
21
- #revalidationCorresponds;
22
- #refreshAfter304;
23
- #seedEntry;
24
- #settleEventStream;
25
8
  #llmsTextAttempts = new Map();
26
9
  #live;
27
- constructor({ live, webFetcher, address, requestHeaders, passthrough, requestMethod, reusableGetRepresentation, materializerIdentity, validators, materializationFailure, sourceMimetype, fresh, cancelled, bad, revalidationCorresponds, refreshAfter304, seedEntry, settleEventStream }) {
10
+ constructor({ live, webFetcher }) {
28
11
  this.#live = live;
29
12
  this.#webFetcher = webFetcher;
30
- this.#address = address;
31
- this.#requestHeaders = requestHeaders;
32
- this.#passthrough = passthrough;
33
- this.#requestMethod = requestMethod;
34
- this.#reusableGetRepresentation = reusableGetRepresentation;
35
- this.#materializerIdentity = materializerIdentity;
36
- this.#validators = validators;
37
- this.#materializationFailure = materializationFailure;
38
- this.#sourceMimetype = sourceMimetype;
39
- this.#fresh = fresh;
40
- this.#cancelled = cancelled;
41
- this.#bad = bad;
42
- this.#revalidationCorresponds = revalidationCorresponds;
43
- this.#refreshAfter304 = refreshAfter304;
44
- this.#seedEntry = seedEntry;
45
- this.#settleEventStream = settleEventStream;
46
13
  }
47
14
  async prepareGet(target, metadata, pathname, ctx) {
48
- const address = this.#address(target);
15
+ const address = httpAddress(target);
49
16
  if (!(address instanceof NetworkAddress))
50
17
  return address;
51
18
  const { url } = address;
52
- const requestHeaders = this.#requestHeaders(metadata);
19
+ const requestHeaders = parseRequestHeaders(metadata);
53
20
  if (!Array.isArray(requestHeaders))
54
21
  return requestHeaders;
55
22
  let cached;
56
23
  const conditional = [];
57
24
  const prior = await ctx.entries.read(pathname);
58
25
  if (Results.isErrorStatus(prior.status) && prior.status !== 404) {
59
- return this.#passthrough(prior);
26
+ return httpPassthrough(prior);
60
27
  }
61
28
  const priorBody = prior.entry?.channels[BODY];
62
29
  const priorHeader = prior.entry?.channels[HEADER];
63
- if (prior.entry !== null && this.#requestMethod(priorHeader?.content ?? "") === undefined) {
30
+ if (prior.entry !== null && requestMethod(priorHeader?.content ?? "") === undefined) {
64
31
  return { status: 200 };
65
32
  }
66
33
  if (prior.entry !== null && priorBody !== undefined && priorHeader !== undefined) {
67
34
  try {
68
- if (await this.#reusableGetRepresentation(prior.entry, requestHeaders, ctx.projection)) {
35
+ if (await reusableGetRepresentation(prior.entry, requestHeaders, ctx.projection)) {
69
36
  cached = prior.entry;
70
- if (this.#materializerIdentity(priorHeader.content) === undefined) {
71
- conditional.push(...this.#validators(priorHeader.content));
37
+ if (materializerIdentity(priorHeader.content) === undefined) {
38
+ conditional.push(...validators(priorHeader.content));
72
39
  }
73
40
  }
74
41
  }
75
42
  catch (cause) {
76
- return this.#materializationFailure(url, "GET", new WebMaterializationError(this.#sourceMimetype(priorHeader.content), cause));
43
+ return httpMaterializationFailure(url, "GET", new WebMaterializationError(sourceMimetype(priorHeader.content), cause));
77
44
  }
78
45
  }
79
- if (cached !== undefined && this.#fresh(cached.channels[HEADER].content)) {
46
+ if (cached !== undefined && fresh(cached.channels[HEADER].content)) {
80
47
  return { status: 200 };
81
48
  }
82
- // {§http-kill} — a KILL of the address aborts this acquisition through the tracked controller.
49
+ // {§revalidation} — a KILL of the address aborts this acquisition through the tracked controller.
83
50
  const liveKey = LiveAcquisitions.key(ctx.workspaceId, url);
84
51
  const local = new AbortController();
85
52
  const release = this.#live.track(liveKey, local);
@@ -96,7 +63,7 @@ export default class HttpGet {
96
63
  preserveUnavailable: true,
97
64
  });
98
65
  if (fetched === null) {
99
- return this.#bad(404, "http", "not-materialized", `The URL ${url} could not be materialized.`, {
66
+ return httpBad(404, "http", "not-materialized", `The URL ${url} could not be materialized.`, {
100
67
  target: url,
101
68
  stage: "acquisition",
102
69
  retryable: true,
@@ -104,7 +71,7 @@ export default class HttpGet {
104
71
  }
105
72
  if (fetched.status === 304) {
106
73
  if (cached === undefined) {
107
- return this.#bad(502, "http", "fetch-failed", `HTTP GET ${url} returned 304 without a reusable stored representation.`, {
74
+ return httpBad(502, "http", "fetch-failed", `HTTP GET ${url} returned 304 without a reusable stored representation.`, {
108
75
  target: url,
109
76
  method: "GET",
110
77
  stage: "acquisition",
@@ -112,8 +79,8 @@ export default class HttpGet {
112
79
  });
113
80
  }
114
81
  const cachedHeader = cached.channels[HEADER].content;
115
- if (this.#materializerIdentity(cachedHeader) !== undefined) {
116
- return this.#bad(502, "http", "fetch-failed", `HTTP GET ${url} returned 304 for a stored representation that requires full reacquisition.`, {
82
+ if (materializerIdentity(cachedHeader) !== undefined) {
83
+ return httpBad(502, "http", "fetch-failed", `HTTP GET ${url} returned 304 for a stored representation that requires full reacquisition.`, {
117
84
  target: url,
118
85
  method: "GET",
119
86
  stage: "acquisition",
@@ -121,19 +88,19 @@ export default class HttpGet {
121
88
  });
122
89
  }
123
90
  const responseHeaders = fetched.responseHeaders ?? [];
124
- if (this.#revalidationCorresponds(cachedHeader, new Headers(responseHeaders.map(([name, value]) => [name, value])))) {
91
+ if (revalidationCorresponds(cachedHeader, new Headers(responseHeaders.map(([name, value]) => [name, value])))) {
125
92
  const channels = {
126
93
  ...cached.channels,
127
94
  [HEADER]: {
128
95
  ...cached.channels[HEADER],
129
- content: this.#refreshAfter304(cachedHeader, responseHeaders, requestHeaders),
96
+ content: refreshAfter304(cachedHeader, responseHeaders, requestHeaders),
130
97
  },
131
98
  };
132
99
  const written = await ctx.entries.write(pathname, {
133
100
  channels,
134
101
  });
135
102
  if (Results.isErrorStatus(written.status))
136
- return this.#passthrough(written);
103
+ return httpPassthrough(written);
137
104
  return { status: 200 };
138
105
  }
139
106
  // {§revalidation}: reacquire once without conditionals when
@@ -146,14 +113,14 @@ export default class HttpGet {
146
113
  preserveUnavailable: true,
147
114
  });
148
115
  if (fetched === null) {
149
- return this.#bad(404, "http", "not-materialized", `The URL ${url} could not be materialized.`, {
116
+ return httpBad(404, "http", "not-materialized", `The URL ${url} could not be materialized.`, {
150
117
  target: url,
151
118
  stage: "acquisition",
152
119
  retryable: true,
153
120
  });
154
121
  }
155
122
  if (fetched.status === 304) {
156
- return this.#bad(502, "http", "fetch-failed", `HTTP GET ${url} returned 304 again after retrying without conditional headers.`, {
123
+ return httpBad(502, "http", "fetch-failed", `HTTP GET ${url} returned 304 again after retrying without conditional headers.`, {
157
124
  target: url,
158
125
  method: "GET",
159
126
  stage: "acquisition",
@@ -172,16 +139,16 @@ export default class HttpGet {
172
139
  channels: WebFetcher.materializedChannels(materialized, { url, method: "GET" }),
173
140
  });
174
141
  if (Results.isErrorStatus(written.status))
175
- return this.#passthrough(written);
142
+ return httpPassthrough(written);
176
143
  await this.#piggybackLlmsText(address, ctx);
177
144
  return { status: 200 };
178
145
  }
179
146
  catch (error) {
180
147
  const cause = error instanceof WebMaterializationError ? error.cause : error;
181
148
  if (signal.aborted && cause === signal.reason)
182
- return this.#cancelled(url, "GET");
149
+ return httpCancelled(url, "GET");
183
150
  if (error instanceof WebMaterializationError) {
184
- return this.#materializationFailure(url, "GET", error);
151
+ return httpMaterializationFailure(url, "GET", error);
185
152
  }
186
153
  throw error;
187
154
  }
@@ -201,16 +168,16 @@ export default class HttpGet {
201
168
  await response.body?.cancel().catch(() => { });
202
169
  },
203
170
  };
204
- // {§http-kill} — the open stream stays cancellable by a KILL of its address until it settles.
171
+ // {§revalidation} — the open stream stays cancellable by a KILL of its address until it settles.
205
172
  const releaseStream = this.#live.track(LiveAcquisitions.key(ctx.workspaceId, address.url), local);
206
- const written = await ctx.entries.write(address.pathname, this.#seedEntry());
173
+ const written = await ctx.entries.write(address.pathname, seedEntry());
207
174
  if (Results.isErrorStatus(written.status))
208
- return this.#passthrough(written);
175
+ return httpPassthrough(written);
209
176
  const subscription = await ctx.subscriptions.open(address.pathname, handle);
210
177
  if (fetched.header !== undefined) {
211
178
  await subscription.notifyChunk(HEADER, fetched.header, "text/plain");
212
179
  }
213
- void this.#settleEventStream(subscription, response, {
180
+ void settleEventStream(subscription, response, {
214
181
  url: address.url,
215
182
  method: "GET",
216
183
  signal: local.signal,
@@ -219,7 +186,7 @@ export default class HttpGet {
219
186
  }).finally(() => releaseStream());
220
187
  return { shape: "passthrough", status: 102 };
221
188
  }
222
- // {§http-llms-txt} — after a successful generic GET materialization,
189
+ // {§http-lifecycle} — after a successful generic GET materialization,
223
190
  // acquire <origin>/llms.txt once per TTL window and materialize it as its
224
191
  // own https entry. Any failure is quiet: the companion never fails the
225
192
  // READ that piggybacked it, and the companion itself never recurses.
@@ -1 +1 @@
1
- {"version":3,"file":"HttpGet.js","sourceRoot":"","sources":["../src/HttpGet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpGet.js","sourceRoot":"","sources":["../src/HttpGet.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,10 @@
1
- import type { SchemeCtx, StreamSubscription, ChannelProducerResult, PassthroughResult, SchemeManifest, UrlPath, EntryData, SchemeResult } from "@plurnk/plurnk-schemes";
2
- import { NetworkAddress } from "@plurnk/plurnk-schemes";
3
- import { WebMaterializationError } from "./WebFetcher.ts";
4
- import LiveAcquisitions from "./LiveAcquisitions.ts";
1
+ import type { PassthroughResult, SchemeCtx, SchemeManifest, UrlPath } from "@plurnk/plurnk-schemes";
2
+ import { LiveAcquisitions } from "./HttpShared.ts";
5
3
  export default class HttpRequester {
6
4
  #private;
7
- constructor({ live, manifest, address, requestHeaders, bad, seedEntry, passthrough, responseHeader, writeProjectionIdentity, cancelled, materializationFailure }: {
8
- manifest: SchemeManifest;
9
- address: (target: UrlPath) => NetworkAddress | PassthroughResult;
10
- requestHeaders: (metadata: readonly string[] | null) => Array<[string, string]> | (PassthroughResult & ChannelProducerResult);
11
- bad: (status: number, scheme: string, kind: string, message: string, extensions?: Readonly<Record<string, unknown>>) => PassthroughResult & ChannelProducerResult;
12
- seedEntry: () => EntryData;
13
- passthrough: (result: SchemeResult) => PassthroughResult & ChannelProducerResult;
14
- responseHeader: (method: string, status: number, statusText: string, responseHeaders: ReadonlyArray<readonly [string, string]>, requestHeaders: ReadonlyArray<readonly [string, string]>) => string;
15
- writeProjectionIdentity: (subscription: StreamSubscription, identity: string) => Promise<void>;
16
- cancelled: (url: string, method: string) => PassthroughResult & ChannelProducerResult;
17
- materializationFailure: (url: string, method: string, error: WebMaterializationError) => PassthroughResult & ChannelProducerResult;
5
+ constructor({ live, manifest }: {
18
6
  live: LiveAcquisitions;
7
+ manifest: SchemeManifest;
19
8
  });
20
9
  request(target: UrlPath, metadata: readonly string[] | null, ctx: SchemeCtx, method: string, body: string | undefined): Promise<PassthroughResult>;
21
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HttpRequester.d.ts","sourceRoot":"","sources":["../src/HttpRequester.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAsB,kBAAkB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC5L,OAAO,EAAsB,cAAc,EAAW,MAAM,wBAAwB,CAAC;AAErF,OAAmB,EAAgB,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAGpF,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAGrD,MAAM,CAAC,OAAO,OAAO,aAAa;;IAa9B,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,uBAAuB,EAAE,SAAS,EAAE,sBAAsB,EAAE,EAAE;QAC9J,QAAQ,EAAE,cAAc,CAAC;QACzB,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,cAAc,GAAG,iBAAiB,CAAC;QACjE,cAAc,EAAE,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,CAAC;QAC9H,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,iBAAiB,GAAG,qBAAqB,CAAC;QAClK,SAAS,EAAE,MAAM,SAAS,CAAC;QAC3B,WAAW,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,iBAAiB,GAAG,qBAAqB,CAAC;QACjF,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,cAAc,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC;QACpM,uBAAuB,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/F,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,iBAAiB,GAAG,qBAAqB,CAAC;QACtF,sBAAsB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,KAAK,iBAAiB,GAAG,qBAAqB,CAAC;QACnI,IAAI,EAAE,gBAAgB,CAAC;KAC1B,EAYA;IAKK,OAAO,CACT,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,EAClC,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GAAG,SAAS,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAmK5B;CAEJ"}
1
+ {"version":3,"file":"HttpRequester.d.ts","sourceRoot":"","sources":["../src/HttpRequester.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACR,iBAAiB,EACjB,SAAS,EACT,cAAc,EAEd,OAAO,EACV,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EAEH,gBAAgB,EAanB,MAAM,iBAAiB,CAAC;AAGzB,MAAM,CAAC,OAAO,OAAO,aAAa;;IAI9B,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC5B,IAAI,EAAE,gBAAgB,CAAC;QACvB,QAAQ,EAAE,cAAc,CAAC;KAC5B,EAGA;IAKK,OAAO,CACT,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,EAClC,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GAAG,SAAS,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAqK5B;CACJ"}
@@ -1,74 +1,54 @@
1
1
  import { MimetypeClassifier, NetworkAddress, Results } from "@plurnk/plurnk-schemes";
2
- import ErrorDetail from "./ErrorDetail.js";
3
- import WebFetcher, { webUserAgent, WebMaterializationError } from "./WebFetcher.js";
4
- import { responseMimetype } from "./ContentType.js";
5
- import { BODY } from "./http-names.js";
6
- import LiveAcquisitions from "./LiveAcquisitions.js";
7
- import HostPolicy from "./HostPolicy.js";
2
+ import { outboundFetch } from "@plurnk/plurnk-meta";
3
+ import { HostPolicy } from "./Guard.js";
4
+ import { BODY, LiveAcquisitions, errorDetail, httpAddress, httpBad, httpCancelled, httpMaterializationFailure, httpPassthrough, parseRequestHeaders, responseHeader, responseMimetype, seedEntry, webUserAgent, writeProjectionIdentity, } from "./HttpShared.js";
5
+ import WebFetcher, { WebMaterializationError } from "./WebFetcher.js";
8
6
  export default class HttpRequester {
9
7
  #manifest;
10
- #address;
11
- #requestHeaders;
12
- #bad;
13
- #seedEntry;
14
- #passthrough;
15
- #responseHeader;
16
- #writeProjectionIdentity;
17
- #cancelled;
18
- #materializationFailure;
19
8
  #live;
20
- constructor({ live, manifest, address, requestHeaders, bad, seedEntry, passthrough, responseHeader, writeProjectionIdentity, cancelled, materializationFailure }) {
9
+ constructor({ live, manifest }) {
21
10
  this.#live = live;
22
11
  this.#manifest = manifest;
23
- this.#address = address;
24
- this.#requestHeaders = requestHeaders;
25
- this.#bad = bad;
26
- this.#seedEntry = seedEntry;
27
- this.#passthrough = passthrough;
28
- this.#responseHeader = responseHeader;
29
- this.#writeProjectionIdentity = writeProjectionIdentity;
30
- this.#cancelled = cancelled;
31
- this.#materializationFailure = materializationFailure;
32
12
  }
33
13
  // Mutation responses use the same entry/channel and subscription primitives
34
14
  // as every live producer; GET acquisition belongs solely to
35
15
  // prepareRepresentation.
36
16
  async request(target, metadata, ctx, method, body) {
37
- const address = this.#address(target);
17
+ const address = httpAddress(target);
38
18
  if (!(address instanceof NetworkAddress))
39
19
  return address;
40
20
  const { url } = address;
41
21
  const { pathname } = address;
42
- const headers = this.#requestHeaders(metadata);
22
+ const headers = parseRequestHeaders(metadata);
43
23
  if (!Array.isArray(headers))
44
24
  return headers;
45
25
  const publishedChannel = target.fragment ?? this.#manifest.defaultChannel;
46
26
  if (!Object.hasOwn(this.#manifest.channels, publishedChannel)) {
47
27
  const availableChannels = Object.keys(this.#manifest.channels);
48
- return this.#bad(404, "http", "channel-not-found", `Channel #${publishedChannel} does not exist on HTTP responses.`, {
28
+ return httpBad(404, "http", "channel-not-found", `Channel #${publishedChannel} does not exist on HTTP responses.`, {
49
29
  requestedChannel: publishedChannel,
50
30
  availableChannels,
51
31
  recovery: `Use one of the available channels: ${availableChannels.map((channel) => `#${channel}`).join(", ")}.`,
52
32
  retryable: false,
53
33
  });
54
34
  }
55
- // Local AbortController: the subscription handle and a KILL of the address both abort it ({§http-kill}).
35
+ // Local AbortController: the subscription handle and a KILL of the address both abort it ({§revalidation}).
56
36
  const local = new AbortController();
57
37
  const release = this.#live.track(LiveAcquisitions.key(ctx.workspaceId, url), local);
58
38
  const handle = { cancel: () => local.abort() };
59
39
  // {§http-lifecycle} open() binds an existing entry, so the handler seeds
60
40
  // its manifest-owned channel shape before subscribing.
61
- const written = await ctx.entries.write(pathname, this.#seedEntry());
41
+ const written = await ctx.entries.write(pathname, seedEntry());
62
42
  if (Results.isErrorStatus(written.status))
63
- return this.#passthrough(written);
64
- // open() returns the worker+teardown-composed signal — fires on loop.cancel
43
+ return httpPassthrough(written);
44
+ // open() returns the session+teardown-composed signal — fires on loop.cancel
65
45
  // OR our local teardown. Wire it so either path aborts acquisition.
66
46
  const subscription = await ctx.subscriptions.open(pathname, handle);
67
47
  const onAbort = () => local.abort();
68
48
  subscription.addEventListener("abort", onAbort, { once: true });
69
49
  let pendingJson;
70
50
  try {
71
- const response = await fetch(url, {
51
+ const response = await outboundFetch(url, {
72
52
  method,
73
53
  body,
74
54
  headers: headers.some(([k]) => k.toLowerCase() === "user-agent")
@@ -80,16 +60,16 @@ export default class HttpRequester {
80
60
  // {§http-host-policy} — a followed redirect may not leave the operator's hosts.
81
61
  if (response.url !== "" && !HostPolicy.permits(response.url)) {
82
62
  await response.body?.cancel();
83
- return this.#bad(403, "http", "host-not-permitted", `${new URL(response.url).hostname} is outside the operator's web host policy.`, {
63
+ return httpBad(403, "http", "host-not-permitted", `${new URL(response.url).hostname} is outside the operator's web host policy.`, {
84
64
  target: url,
85
65
  stage: "acquisition",
86
66
  retryable: false,
87
67
  });
88
68
  }
89
69
  const responseMime = responseMimetype(response.headers.get("content-type"));
90
- // {§http-binary-source} — completed binary input uses ordinary entry byte storage;
70
+ // {§http-lifecycle} — completed binary input uses ordinary entry byte storage;
91
71
  // text responses retain their incremental subscription path.
92
- const header = this.#responseHeader(method, response.status, response.statusText, [...response.headers], headers);
72
+ const header = responseHeader(method, response.status, response.statusText, [...response.headers], headers);
93
73
  await subscription.notifyChunk("header", header, "text/plain");
94
74
  const bodyMime = responseMime;
95
75
  if (response.body === null) {
@@ -111,23 +91,27 @@ export default class HttpRequester {
111
91
  await subscription.notifyChunk(BODY, "", bodyMime);
112
92
  throw error;
113
93
  }
114
- const stored = await ctx.entries.write(pathname, { channels: {
94
+ const stored = await ctx.entries.write(pathname, {
95
+ channels: {
115
96
  body: { content: "", bytes: projected.bytes, mimetype: bodyMime, state: "active" },
116
97
  header: { content: header, mimetype: "text/plain", state: "active" },
117
- ...(projected.readable === null ? {} : { readable: {
98
+ ...(projected.readable === null ? {} : {
99
+ readable: {
118
100
  content: projected.readable.content, mimetype: projected.readable.mimetype, state: "active",
119
- } }),
120
- } });
101
+ },
102
+ }),
103
+ },
104
+ });
121
105
  if (Results.isErrorStatus(stored.status)) {
122
- const result = this.#passthrough(stored);
106
+ const result = httpPassthrough(stored);
123
107
  await subscription.close(result, result.problem?.detail);
124
108
  return result;
125
109
  }
126
- await this.#writeProjectionIdentity(subscription, projected.projectionIdentity);
110
+ await writeProjectionIdentity(subscription, projected.projectionIdentity);
127
111
  await subscription.close({ status: 200 }, `HTTP ${response.status}; ${projected.bytes.byteLength} bytes`);
128
112
  return { shape: "passthrough", status: 102 };
129
113
  }
130
- // {§http-text-decoding} Fetch text is replacement-mode UTF-8;
114
+ // {§http-lifecycle} Fetch text is replacement-mode UTF-8;
131
115
  // Content-Type charset remains response evidence, not a second decoder.
132
116
  let bytes = 0;
133
117
  const decoder = new TextDecoder();
@@ -158,21 +142,19 @@ export default class HttpRequester {
158
142
  }
159
143
  const aborted = local.signal.aborted;
160
144
  if (aborted) {
161
- const result = this.#cancelled(url, method);
145
+ const result = httpCancelled(url, method);
162
146
  await subscription.close(result, result.problem?.detail);
163
147
  return result;
164
148
  }
165
149
  if (err instanceof WebMaterializationError) {
166
- const result = this.#materializationFailure(url, method, err);
150
+ const result = httpMaterializationFailure(url, method, err);
167
151
  await subscription.close(result, result.problem?.detail);
168
152
  return result;
169
153
  }
170
154
  console.error("HTTP acquisition failed", { method, url, err });
171
- const cause = ErrorDetail.preview(err);
155
+ const cause = errorDetail.preview(err);
172
156
  const reason = `HTTP ${method} ${url} failed: ${cause}`;
173
- // The remaining catch owns acquisition failure; cancellation and
174
- // typed materialization failures settled above.
175
- const result = this.#bad(502, "http", "fetch-failed", reason, {
157
+ const result = httpBad(502, "http", "fetch-failed", reason, {
176
158
  target: url,
177
159
  method,
178
160
  stage: "acquisition",
@@ -1 +1 @@
1
- {"version":3,"file":"HttpRequester.js","sourceRoot":"","sources":["../src/HttpRequester.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,UAAU,EAAE,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,MAAM,CAAC,OAAO,OAAO,aAAa;IACrB,SAAS,CAAiB;IAC1B,QAAQ,CAA0D;IAClE,eAAe,CAAgH;IAC/H,IAAI,CAA+J;IACnK,UAAU,CAAkB;IAC5B,YAAY,CAAsE;IAClF,eAAe,CAAsL;IACrM,wBAAwB,CAAwE;IAChG,UAAU,CAA6E;IACvF,uBAAuB,CAA6G;IAEpI,KAAK,CAAmB;IACjC,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,uBAAuB,EAAE,SAAS,EAAE,sBAAsB,EAY7J;QACG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,wBAAwB,GAAG,uBAAuB,CAAC;QACxD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,uBAAuB,GAAG,sBAAsB,CAAC;IAC1D,CAAC;IAED,4EAA4E;IAC5E,4DAA4D;IAC5D,yBAAyB;IACzB,KAAK,CAAC,OAAO,CACT,MAAe,EACf,QAAkC,EAClC,GAAc,EACd,MAAc,EACd,IAAwB;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,OAAO,YAAY,cAAc,CAAC;YAAE,OAAO,OAAO,CAAC;QACzD,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QACxB,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QAC5C,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC;YAC5D,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC,IAAI,CACZ,GAAG,EACH,MAAM,EACN,mBAAmB,EACnB,YAAY,gBAAgB,oCAAoC,EAChE;gBACI,gBAAgB,EAAE,gBAAgB;gBAClC,iBAAiB;gBACjB,QAAQ,EAAE,sCAAsC,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC/G,SAAS,EAAE,KAAK;aACnB,CACJ,CAAC;QACN,CAAC;QAED,yGAAyG;QACzG,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACpF,MAAM,MAAM,GAAuB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAEnE,yEAAyE;QACzE,uDAAuD;QACvD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACrE,IAAI,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE7E,4EAA4E;QAC5E,oEAAoE;QACpE,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACpC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,IAAI,WAA8D,CAAC;QACnE,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC9B,MAAM;gBACN,IAAI;gBACJ,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC;oBAC5D,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,CAAqB,EAAE,GAAG,OAAO,CAAC;gBACtE,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,QAAQ,EAAE,QAAQ;aACrB,CAAC,CAAC;YACH,gFAAgF;YAChF,IAAI,QAAQ,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3D,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,6CAA6C,EAAE;oBAChI,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,aAAa;oBACpB,SAAS,EAAE,KAAK;iBACnB,CAAC,CAAC;YACP,CAAC;YAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;YAE5E,mFAAmF;YACnF,6DAA6D;YAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;YAClH,MAAM,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAC/D,MAAM,QAAQ,GAAG,YAAY,CAAC;YAC9B,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACzB,MAAM,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,QAAQ,CAAC,MAAM,cAAc,CAAC,CAAC;gBACjF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YACjD,CAAC;YACD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;YACnC,MAAM,QAAQ,GAAG;gBACb,MAAM,EAAE,YAAyC;gBACjD,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE;aACtC,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YACnF,IAAI,MAAM,EAAE,CAAC;gBACT,IAAI,SAAS,CAAC;gBACd,IAAI,CAAC;oBACD,SAAS,GAAG,MAAM,UAAU,CAAC,YAAY,CACrC,QAAQ,EACR,QAAQ,EACR,GAAG,CAAC,UAAU,CACjB,CAAC;gBACN,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;oBACnD,MAAM,KAAK,CAAC;gBAChB,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE;wBACzD,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;wBAClF,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE;wBACpE,GAAG,CAAC,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE;gCAC/C,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAiB;6BACvG,EAAE,CAAC;qBACP,EAAE,CAAC,CAAC;gBACL,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;oBACvC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBACzC,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBACzD,OAAO,MAAM,CAAC;gBAClB,CAAC;gBACD,MAAM,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;gBAChF,MAAM,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,KAAK,CAAC,UAAU,QAAQ,CAAC,CAAC;gBAC1G,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YACjD,CAAC;YACD,8DAA8D;YAC9D,wEAAwE;YACxE,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,IAAI,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAAE,WAAW,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC3F,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,YAAyC,EAAE,CAAC;gBAClE,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;gBACtB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrD,IAAI,WAAW,KAAK,SAAS;oBAAE,WAAW,CAAC,OAAO,IAAI,IAAI,CAAC;;oBACtD,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC9E,WAAW,GAAG,SAAS,CAAC;gBACxB,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC5D,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAEjF,MAAM,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,QAAQ,CAAC,MAAM,KAAK,KAAK,QAAQ,CAAC,CAAC;YACrF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9D,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;YACpF,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;YACrC,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC5C,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACzD,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,IAAI,GAAG,YAAY,uBAAuB,EAAE,CAAC;gBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC9D,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACzD,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,QAAQ,MAAM,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACxD,iEAAiE;YACjE,gDAAgD;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACpB,GAAG,EACH,MAAM,EACN,cAAc,EACd,MAAM,EACN;gBACI,MAAM,EAAE,GAAG;gBACX,MAAM;gBACN,KAAK,EAAE,aAAa;gBACpB,SAAS,EAAE,MAAM,KAAK,MAAM;aAC/B,CACJ,CAAC;YACF,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC;QAClB,CAAC;gBAAS,CAAC;YACP,OAAO,EAAE,CAAC;YACV,YAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;CAEJ"}
1
+ {"version":3,"file":"HttpRequester.js","sourceRoot":"","sources":["../src/HttpRequester.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { ErrorDetail } from "@plurnk/plurnk-meta";
2
+ import { NetworkAddress, type ChannelProducerResult, type EntryData, type PassthroughResult, type SchemeResult, type StreamSubscription, type UrlPath, type WebMaterializationError } from "@plurnk/plurnk-schemes";
3
+ export declare const BODY = "body";
4
+ export declare const HEADER = "header";
5
+ export declare const FETCHED_AT = "x-plurnk-fetched-at";
6
+ export declare const REQUEST_METHOD = "x-plurnk-request-method";
7
+ export declare const PROJECTION_ID_HEADER = "x-plurnk-projection-id";
8
+ export declare const CACHE_VARIANT_HEADER = "x-plurnk-cache-variant";
9
+ export declare const MATERIALIZER_ID_HEADER = "x-plurnk-materializer-id";
10
+ export declare const OUTBOUND_METHODS: ReadonlySet<string>;
11
+ export declare const HTTP_CHANNELS: Readonly<Record<string, string>>;
12
+ export declare const requireFlagEnv: (key: string) => boolean;
13
+ export declare const requireNonNegativeIntegerEnv: (key: string) => number;
14
+ export declare const requirePositiveIntegerEnv: (key: string) => number;
15
+ export declare const webUserAgent: () => string;
16
+ export type CacheVariant = "default" | "bypass";
17
+ export declare const classifyCacheVariant: (requestHeaders: ReadonlyArray<readonly [string, string]>, responseHeaders: ReadonlyArray<readonly [string, string]>) => CacheVariant;
18
+ export declare const cacheVariantEvidence: (variant: CacheVariant) => string;
19
+ export declare const responseMimetype: (contentType: string | null) => string;
20
+ export declare const errorDetail: ErrorDetail;
21
+ export declare class LiveAcquisitions {
22
+ #private;
23
+ static key(workspaceId: number, url: string): string;
24
+ static composed(outer: AbortSignal | undefined, local: AbortSignal): AbortSignal;
25
+ track(key: string, controller: AbortController): () => void;
26
+ cancel(key: string): boolean;
27
+ }
28
+ export declare const httpBad: (status: number, scheme: string, kind: string, message: string, extensions?: Readonly<Record<string, unknown>>) => PassthroughResult & ChannelProducerResult;
29
+ export declare const httpPassthrough: (result: SchemeResult) => PassthroughResult & ChannelProducerResult;
30
+ export declare const httpCancelled: (url: string, method: string) => PassthroughResult & ChannelProducerResult;
31
+ export declare const httpMaterializationFailure: (url: string, method: string, error: WebMaterializationError) => PassthroughResult & ChannelProducerResult;
32
+ export declare const httpAddress: (target: UrlPath) => NetworkAddress | PassthroughResult;
33
+ export declare const parseRequestHeaders: (metadata: readonly string[] | null) => Array<[string, string]> | (PassthroughResult & ChannelProducerResult);
34
+ export declare const seedEntry: () => EntryData;
35
+ export declare const responseHeader: (method: string, status: number, statusText: string, responseHeaders: ReadonlyArray<readonly [string, string]>, requestHeaders: ReadonlyArray<readonly [string, string]>) => string;
36
+ export declare const writeProjectionIdentity: (subscription: StreamSubscription, identity: string) => Promise<void>;
37
+ export declare const settleEventStream: (subscription: StreamSubscription, response: Response, options: {
38
+ url: string;
39
+ method: string;
40
+ signal: AbortSignal;
41
+ }) => Promise<void>;
42
+ //# sourceMappingURL=HttpShared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpShared.d.ts","sourceRoot":"","sources":["../src/HttpShared.ts"],"names":[],"mappings":"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"}