@plurnk/plurnk-schemes-http 1.16.5 → 1.18.0
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/.env.defaults +11 -33
- package/README.md +12 -12
- package/SPEC.md +54 -44
- package/dist/Http.d.ts.map +1 -1
- package/dist/Http.js +27 -44
- package/dist/Http.js.map +1 -1
- package/dist/HttpGet.js +2 -2
- package/dist/HttpGet.js.map +1 -1
- package/dist/HttpRequester.d.ts.map +1 -1
- package/dist/HttpRequester.js +21 -6
- package/dist/HttpRequester.js.map +1 -1
- package/dist/LiveAcquisitions.d.ts +1 -1
- package/dist/LiveAcquisitions.d.ts.map +1 -1
- package/dist/LiveAcquisitions.js +12 -9
- package/dist/LiveAcquisitions.js.map +1 -1
- package/dist/WebFetcher.d.ts +2 -6
- package/dist/WebFetcher.d.ts.map +1 -1
- package/dist/WebFetcher.js +69 -103
- package/dist/WebFetcher.js.map +1 -1
- package/dist/Ws.d.ts.map +1 -1
- package/dist/Ws.js +228 -241
- package/dist/Ws.js.map +1 -1
- package/docs/https.md +37 -28
- package/docs/wss.md +29 -18
- package/package.json +4 -3
package/dist/HttpGet.js
CHANGED
|
@@ -82,7 +82,7 @@ export default class HttpGet {
|
|
|
82
82
|
}
|
|
83
83
|
let fetched;
|
|
84
84
|
// {§http-kill} — a KILL of the address aborts this acquisition through the tracked controller.
|
|
85
|
-
const liveKey = LiveAcquisitions.key(ctx.
|
|
85
|
+
const liveKey = LiveAcquisitions.key(ctx.workspaceId, url);
|
|
86
86
|
const local = new AbortController();
|
|
87
87
|
const release = this.#live.track(liveKey, local);
|
|
88
88
|
try {
|
|
@@ -240,7 +240,7 @@ export default class HttpGet {
|
|
|
240
240
|
},
|
|
241
241
|
};
|
|
242
242
|
// {§http-kill} — the open stream stays cancellable by a KILL of its address until it settles.
|
|
243
|
-
const releaseStream = this.#live.track(LiveAcquisitions.key(ctx.
|
|
243
|
+
const releaseStream = this.#live.track(LiveAcquisitions.key(ctx.workspaceId, address.url), local);
|
|
244
244
|
const written = await ctx.entries.write(address.pathname, this.#seedEntry());
|
|
245
245
|
if (Results.isErrorStatus(written.status))
|
|
246
246
|
return this.#passthrough(written);
|
package/dist/HttpGet.js.map
CHANGED
|
@@ -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 +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,
|
|
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,EAAkB,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAGtF,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAErD,MAAM,CAAC,OAAO,OAAO,aAAa;;IAc9B,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,uBAAuB,EAAE,SAAS,EAAE,sBAAsB,EAAE,EAAE;QAC7K,QAAQ,EAAE,cAAc,CAAC;QACzB,gBAAgB,EAAE,MAAM,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,WAAW,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,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,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1O,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,EAaA;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,CAuK5B;CAEJ"}
|
package/dist/HttpRequester.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NetworkAddress, Results } from "@plurnk/plurnk-schemes";
|
|
1
|
+
import { MimetypeClassifier, NetworkAddress, Results } from "@plurnk/plurnk-schemes";
|
|
2
2
|
import ErrorDetail from "./ErrorDetail.js";
|
|
3
3
|
import WebFetcher, { DEFAULT_WEB_UA, WebMaterializationError } from "./WebFetcher.js";
|
|
4
4
|
import { responseMimetype } from "./ContentType.js";
|
|
@@ -44,9 +44,9 @@ export default class HttpRequester {
|
|
|
44
44
|
if (!Array.isArray(headers))
|
|
45
45
|
return headers;
|
|
46
46
|
const publishedChannel = target.fragment ?? this.#manifest.defaultChannel;
|
|
47
|
-
if (!(
|
|
47
|
+
if (!Object.hasOwn(this.#manifest.channels, publishedChannel)) {
|
|
48
48
|
const availableChannels = Object.keys(this.#manifest.channels);
|
|
49
|
-
return this.#bad(
|
|
49
|
+
return this.#bad(404, "http", "channel-not-found", `Channel #${publishedChannel} does not exist on HTTP responses.`, {
|
|
50
50
|
requestedChannel: publishedChannel,
|
|
51
51
|
availableChannels,
|
|
52
52
|
recovery: `Use one of the available channels: ${availableChannels.map((channel) => `#${channel}`).join(", ")}.`,
|
|
@@ -55,7 +55,7 @@ export default class HttpRequester {
|
|
|
55
55
|
}
|
|
56
56
|
// Local AbortController: the subscription handle and a KILL of the address both abort it ({§http-kill}).
|
|
57
57
|
const local = new AbortController();
|
|
58
|
-
const release = this.#live.track(LiveAcquisitions.key(ctx.
|
|
58
|
+
const release = this.#live.track(LiveAcquisitions.key(ctx.workspaceId, url), local);
|
|
59
59
|
const handle = { cancel: () => local.abort() };
|
|
60
60
|
// {§http-lifecycle} open() binds an existing entry, so the handler seeds
|
|
61
61
|
// its manifest-owned channel shape before subscribing.
|
|
@@ -67,6 +67,7 @@ export default class HttpRequester {
|
|
|
67
67
|
const subscription = await ctx.subscriptions.open(pathname, handle);
|
|
68
68
|
const onAbort = () => local.abort();
|
|
69
69
|
subscription.addEventListener("abort", onAbort, { once: true });
|
|
70
|
+
let pendingJson;
|
|
70
71
|
try {
|
|
71
72
|
const response = await fetch(url, {
|
|
72
73
|
method,
|
|
@@ -126,17 +127,31 @@ export default class HttpRequester {
|
|
|
126
127
|
// Content-Type charset remains response evidence, not a second decoder.
|
|
127
128
|
let bytes = 0;
|
|
128
129
|
const decoder = new TextDecoder();
|
|
130
|
+
if (MimetypeClassifier.isJson(bodyMime))
|
|
131
|
+
pendingJson = { content: "", mimetype: bodyMime };
|
|
129
132
|
for await (const chunk of responseBody) {
|
|
130
133
|
bytes += chunk.length;
|
|
131
|
-
|
|
134
|
+
const text = decoder.decode(chunk, { stream: true });
|
|
135
|
+
if (pendingJson !== undefined)
|
|
136
|
+
pendingJson.content += text;
|
|
137
|
+
else
|
|
138
|
+
await subscription.notifyChunk(BODY, text, bodyMime);
|
|
132
139
|
}
|
|
133
140
|
const tail = decoder.decode();
|
|
134
|
-
if (
|
|
141
|
+
if (pendingJson !== undefined) {
|
|
142
|
+
const content = WebFetcher.readableText(pendingJson.content + tail, bodyMime);
|
|
143
|
+
pendingJson = undefined;
|
|
144
|
+
await subscription.notifyChunk(BODY, content, bodyMime);
|
|
145
|
+
}
|
|
146
|
+
else if (tail.length > 0)
|
|
135
147
|
await subscription.notifyChunk(BODY, tail, bodyMime);
|
|
136
148
|
await subscription.close({ status: 200 }, `HTTP ${response.status}; ${bytes} bytes`);
|
|
137
149
|
return { shape: "passthrough", status: 102 };
|
|
138
150
|
}
|
|
139
151
|
catch (err) {
|
|
152
|
+
if (pendingJson !== undefined && pendingJson.content.length > 0) {
|
|
153
|
+
await subscription.notifyChunk(BODY, pendingJson.content, pendingJson.mimetype);
|
|
154
|
+
}
|
|
140
155
|
const aborted = local.signal.aborted;
|
|
141
156
|
if (aborted) {
|
|
142
157
|
const result = this.#cancelled(url, method);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpRequester.js","sourceRoot":"","sources":["../src/HttpRequester.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"HttpRequester.js","sourceRoot":"","sources":["../src/HttpRequester.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export default class LiveAcquisitions {
|
|
2
2
|
#private;
|
|
3
|
-
static key(
|
|
3
|
+
static key(workspaceId: number, url: string): string;
|
|
4
4
|
static composed(outer: AbortSignal | undefined, local: AbortSignal): AbortSignal;
|
|
5
5
|
track(key: string, controller: AbortController): () => void;
|
|
6
6
|
cancel(key: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveAcquisitions.d.ts","sourceRoot":"","sources":["../src/LiveAcquisitions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LiveAcquisitions.d.ts","sourceRoot":"","sources":["../src/LiveAcquisitions.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,OAAO,OAAO,gBAAgB;;IAGjC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;IAED,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,WAAW,CAE/E;IAED,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,GAAG,MAAM,IAAI,CAQ1D;IAED,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAM3B;CACJ"}
|
package/dist/LiveAcquisitions.js
CHANGED
|
@@ -1,26 +1,29 @@
|
|
|
1
|
-
//
|
|
2
|
-
// acquisition that worker is holding instead of reaching the remote ({§http-kill}).
|
|
1
|
+
// {§http-kill} Addressed cancellation reaches every local acquisition of the resource.
|
|
3
2
|
export default class LiveAcquisitions {
|
|
4
3
|
#controllers = new Map();
|
|
5
|
-
static key(
|
|
6
|
-
return `${
|
|
4
|
+
static key(workspaceId, url) {
|
|
5
|
+
return `${workspaceId}:${url}`;
|
|
7
6
|
}
|
|
8
7
|
static composed(outer, local) {
|
|
9
8
|
return outer === undefined ? local : AbortSignal.any([outer, local]);
|
|
10
9
|
}
|
|
11
10
|
track(key, controller) {
|
|
12
|
-
this.#controllers.
|
|
11
|
+
const controllers = this.#controllers.get(key) ?? new Set();
|
|
12
|
+
controllers.add(controller);
|
|
13
|
+
this.#controllers.set(key, controllers);
|
|
13
14
|
return () => {
|
|
14
|
-
|
|
15
|
+
controllers.delete(controller);
|
|
16
|
+
if (controllers.size === 0 && this.#controllers.get(key) === controllers)
|
|
15
17
|
this.#controllers.delete(key);
|
|
16
18
|
};
|
|
17
19
|
}
|
|
18
20
|
cancel(key) {
|
|
19
|
-
const
|
|
20
|
-
if (
|
|
21
|
+
const controllers = this.#controllers.get(key);
|
|
22
|
+
if (controllers === undefined)
|
|
21
23
|
return false;
|
|
22
24
|
this.#controllers.delete(key);
|
|
23
|
-
controller
|
|
25
|
+
for (const controller of controllers)
|
|
26
|
+
controller.abort();
|
|
24
27
|
return true;
|
|
25
28
|
}
|
|
26
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveAcquisitions.js","sourceRoot":"","sources":["../src/LiveAcquisitions.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"LiveAcquisitions.js","sourceRoot":"","sources":["../src/LiveAcquisitions.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACxB,YAAY,GAAG,IAAI,GAAG,EAAgC,CAAC;IAEhE,MAAM,CAAC,GAAG,CAAC,WAAmB,EAAE,GAAW;QACvC,OAAO,GAAG,WAAW,IAAI,GAAG,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,KAA8B,EAAE,KAAkB;QAC9D,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,GAAW,EAAE,UAA2B;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAmB,CAAC;QAC7E,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACxC,OAAO,GAAG,EAAE;YACR,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,WAAW;gBAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5G,CAAC,CAAC;IACN,CAAC;IAED,MAAM,CAAC,GAAW;QACd,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,KAAK,MAAM,UAAU,IAAI,WAAW;YAAE,UAAU,CAAC,KAAK,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
|
package/dist/WebFetcher.d.ts
CHANGED
|
@@ -34,11 +34,6 @@ export interface WebFetchResult {
|
|
|
34
34
|
readonly response?: Response;
|
|
35
35
|
readonly header?: string;
|
|
36
36
|
readonly requestHeaders?: ReadonlyArray<readonly [string, string]>;
|
|
37
|
-
readonly html?: {
|
|
38
|
-
readonly content: string;
|
|
39
|
-
readonly mimetype: string;
|
|
40
|
-
};
|
|
41
|
-
readonly htmlFailure?: WebChannelFailure;
|
|
42
37
|
readonly originFailure?: WebChannelFailure;
|
|
43
38
|
readonly allowConfiguredMaterializer?: boolean;
|
|
44
39
|
readonly originUnavailable?: boolean;
|
|
@@ -73,7 +68,8 @@ export default class WebFetcher {
|
|
|
73
68
|
readonly url: string;
|
|
74
69
|
readonly method: string;
|
|
75
70
|
}): EntryData["channels"];
|
|
76
|
-
static materialize(fetched: Pick<WebFetchResult, "url" | "body" | "mimetype" | "status" | "statusText" | "header" | "
|
|
71
|
+
static materialize(fetched: Pick<WebFetchResult, "url" | "body" | "mimetype" | "status" | "statusText" | "header" | "originFailure" | "allowConfiguredMaterializer" | "originUnavailable">, projection: ProjectionCaps, signal?: AbortSignal): Promise<WebMaterializedResult | null>;
|
|
72
|
+
static readableText(content: string, mimetype: string): string;
|
|
77
73
|
static classifyBinary(body: Pick<WebResponseBody, "chunks" | "cancel">, mimetype: string, projection: ProjectionCaps): Promise<boolean>;
|
|
78
74
|
static projectBytes(body: Pick<WebResponseBody, "chunks" | "cancel">, mimetype: string, projection: ProjectionCaps): Promise<ProjectedText | null>;
|
|
79
75
|
static projectionEvidence(identity: string): string;
|
package/dist/WebFetcher.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebFetcher.d.ts","sourceRoot":"","sources":["../src/WebFetcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,cAAc,EACtB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"WebFetcher.d.ts","sourceRoot":"","sources":["../src/WebFetcher.ts"],"names":[],"mappings":"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"}
|
package/dist/WebFetcher.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { MimetypeClassifier, Results, } from "@plurnk/plurnk-schemes";
|
|
2
|
+
import { formatJsonDocument } from "@plurnk/plurnk-contracts";
|
|
2
3
|
import Guard, { GuardBlockedError } from "./Guard.js";
|
|
3
4
|
import { responseMimetype } from "./ContentType.js";
|
|
4
5
|
import MaterializerRegistry from "./Materializer.js";
|
|
@@ -43,11 +44,6 @@ const failure = (status, code, detail, retryable, facts) => ({
|
|
|
43
44
|
});
|
|
44
45
|
const safeEvidence = (value) => value.replace(/[\r\n]+/g, " ").trim();
|
|
45
46
|
const hasHeader = (headers, name) => headers.some(([candidate]) => candidate.toLowerCase() === name);
|
|
46
|
-
const replaceHeader = (headers, name, value) => [
|
|
47
|
-
...headers.filter(([candidate]) => candidate.toLowerCase() !== name)
|
|
48
|
-
.map(([candidate, member]) => [candidate, member]),
|
|
49
|
-
[name, value],
|
|
50
|
-
];
|
|
51
47
|
export default class WebFetcher {
|
|
52
48
|
static validateConfiguration() {
|
|
53
49
|
requirePositiveIntegerEnv("PLURNK_SCHEMES_HTTP_FETCH_TIMEOUT");
|
|
@@ -97,44 +93,65 @@ export default class WebFetcher {
|
|
|
97
93
|
originFailure,
|
|
98
94
|
};
|
|
99
95
|
}
|
|
96
|
+
// {§readable-channel} — a page's server source is its `body`; the curated text (the selected
|
|
97
|
+
// materializer's Markdown, or the installed local projection) is `readable`. A response that is
|
|
98
|
+
// not an HTML page has no projection: its `body` is the response text, or the readable text of a
|
|
99
|
+
// binary body under {§mimetype-binary-input}.
|
|
100
100
|
static materializedChannels(materialized, source) {
|
|
101
101
|
const channels = {};
|
|
102
|
-
|
|
102
|
+
const page = materialized.html !== undefined || materialized.htmlOutcome !== undefined;
|
|
103
|
+
const curated = materialized.body;
|
|
104
|
+
const curatedOutcome = materialized.bodyOutcome;
|
|
105
|
+
if (page) {
|
|
106
|
+
if (materialized.html !== undefined) {
|
|
107
|
+
channels.body = {
|
|
108
|
+
...materialized.html,
|
|
109
|
+
...(materialized.htmlOutcome?.failure === undefined ? {} : { state: "errored" }),
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
else if (materialized.htmlOutcome?.failure !== undefined) {
|
|
113
|
+
channels.body = { content: "", mimetype: "text/html", state: "errored" };
|
|
114
|
+
}
|
|
115
|
+
if (curated !== undefined) {
|
|
116
|
+
channels.readable = {
|
|
117
|
+
...curated,
|
|
118
|
+
...(curatedOutcome.failure === undefined ? {} : { state: "errored" }),
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
else if (curatedOutcome.failure !== undefined) {
|
|
122
|
+
channels.readable = { content: "", mimetype: "text/markdown", state: "errored" };
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
else if (curated !== undefined) {
|
|
103
126
|
channels.body = {
|
|
104
|
-
...
|
|
105
|
-
...(
|
|
127
|
+
...curated,
|
|
128
|
+
...(curatedOutcome.failure === undefined ? {} : { state: "errored" }),
|
|
106
129
|
};
|
|
107
130
|
}
|
|
108
|
-
else if (
|
|
131
|
+
else if (curatedOutcome.failure !== undefined) {
|
|
109
132
|
channels.body = { content: "", mimetype: "text/markdown", state: "errored" };
|
|
110
133
|
}
|
|
111
134
|
if (materialized.header !== undefined) {
|
|
112
135
|
channels.header = { content: materialized.header, mimetype: "text/plain" };
|
|
113
136
|
}
|
|
114
|
-
if (materialized.html !== undefined) {
|
|
115
|
-
channels.html = {
|
|
116
|
-
...materialized.html,
|
|
117
|
-
...(materialized.htmlOutcome?.failure === undefined ? {} : { state: "errored" }),
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
else if (materialized.htmlOutcome?.failure !== undefined) {
|
|
121
|
-
channels.html = { content: "", mimetype: "text/html", state: "errored" };
|
|
122
|
-
}
|
|
123
137
|
if (source === undefined)
|
|
124
138
|
return channels;
|
|
125
|
-
const
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
139
|
+
const headerOutcome = materialized.header === undefined
|
|
140
|
+
? failure(502, "header-unavailable", `Acquisition evidence for ${source.url} was unavailable.`, true)
|
|
141
|
+
: success();
|
|
142
|
+
const outcomes = page
|
|
143
|
+
? {
|
|
144
|
+
body: materialized.htmlOutcome ?? (materialized.html === undefined
|
|
145
|
+
? failure(502, "html-unavailable", `Server-source HTML for ${source.url} was unavailable.`, true)
|
|
146
|
+
: success()),
|
|
147
|
+
header: headerOutcome,
|
|
148
|
+
readable: curatedOutcome,
|
|
149
|
+
}
|
|
150
|
+
: { body: curatedOutcome, header: headerOutcome };
|
|
134
151
|
const defaults = {
|
|
135
|
-
body: "text/markdown",
|
|
152
|
+
body: page ? "text/html" : "text/markdown",
|
|
136
153
|
header: "text/plain",
|
|
137
|
-
|
|
154
|
+
readable: "text/markdown",
|
|
138
155
|
};
|
|
139
156
|
for (const [channel, outcome] of Object.entries(outcomes)) {
|
|
140
157
|
const existing = channels[channel] ?? {
|
|
@@ -179,48 +196,41 @@ export default class WebFetcher {
|
|
|
179
196
|
if (projected === null)
|
|
180
197
|
return null;
|
|
181
198
|
return WebFetcher.#materialized(projected, {
|
|
182
|
-
html: fetched.html,
|
|
183
199
|
header: fetched.header,
|
|
184
200
|
bodyOutcome: originOutcome,
|
|
185
201
|
});
|
|
186
202
|
}
|
|
187
|
-
const content = await fetched.body.text();
|
|
203
|
+
const content = WebFetcher.readableText(await fetched.body.text(), fetched.mimetype);
|
|
188
204
|
return {
|
|
189
205
|
body: { content, mimetype: fetched.mimetype },
|
|
190
|
-
...(fetched.html === undefined ? {} : { html: fetched.html }),
|
|
191
206
|
...(fetched.header === undefined ? {} : { header: fetched.header }),
|
|
192
207
|
bodyOutcome: originOutcome,
|
|
193
|
-
...(fetched.html === undefined ? {} : { htmlOutcome: success() }),
|
|
194
208
|
};
|
|
195
209
|
}
|
|
196
210
|
if (fetched.mimetype === "text/markdown") {
|
|
211
|
+
// {§readable-channel} — an origin that negotiates Markdown has sent the readable source
|
|
212
|
+
// itself: it is the body, and no projection or HTML variant rides beside it.
|
|
197
213
|
const materializedHeader = WebFetcher.#appendEvidence(fetched.header, [
|
|
198
214
|
WebFetcher.materializerEvidence(ORIGIN_MARKDOWN_MATERIALIZER_ID),
|
|
199
215
|
]);
|
|
200
216
|
return {
|
|
201
217
|
body: { content: fetched.body, mimetype: "text/markdown" },
|
|
202
|
-
...(fetched.html === undefined ? {} : { html: fetched.html }),
|
|
203
218
|
...(materializedHeader === undefined ? {} : { header: materializedHeader }),
|
|
204
219
|
bodyOutcome: originOutcome,
|
|
205
|
-
htmlOutcome: fetched.html === undefined
|
|
206
|
-
? { status: fetched.htmlFailure?.status ?? 502, failure: fetched.htmlFailure ?? {
|
|
207
|
-
status: 502,
|
|
208
|
-
code: "html-variant-unavailable",
|
|
209
|
-
detail: `The HTML variant of ${fetched.url} was unavailable.`,
|
|
210
|
-
retryable: true,
|
|
211
|
-
} }
|
|
212
|
-
: success(),
|
|
213
220
|
};
|
|
214
221
|
}
|
|
215
222
|
if (!MimetypeClassifier.isHtml(fetched.mimetype)) {
|
|
216
223
|
return {
|
|
217
|
-
body: { content: fetched.body, mimetype: fetched.mimetype },
|
|
224
|
+
body: { content: WebFetcher.readableText(fetched.body, fetched.mimetype), mimetype: fetched.mimetype },
|
|
218
225
|
...(fetched.header === undefined ? {} : { header: fetched.header }),
|
|
219
226
|
bodyOutcome: originOutcome,
|
|
220
227
|
};
|
|
221
228
|
}
|
|
222
229
|
return WebFetcher.#materializeHtml(fetched, projection, signal);
|
|
223
230
|
}
|
|
231
|
+
static readableText(content, mimetype) {
|
|
232
|
+
return MimetypeClassifier.isJson(mimetype) ? formatJsonDocument(content) ?? content : content;
|
|
233
|
+
}
|
|
224
234
|
static async #materializeHtml(fetched, projection, signal) {
|
|
225
235
|
const html = fetched.originUnavailable === true
|
|
226
236
|
? undefined
|
|
@@ -245,9 +255,7 @@ export default class WebFetcher {
|
|
|
245
255
|
...(html === undefined ? {} : { html }),
|
|
246
256
|
...(header === undefined ? {} : { header }),
|
|
247
257
|
bodyOutcome: success(),
|
|
248
|
-
htmlOutcome: html === undefined
|
|
249
|
-
? failure(502, "html-unavailable", `Server-source HTML for ${fetched.url} was unavailable.`, true)
|
|
250
|
-
: originOutcome,
|
|
258
|
+
htmlOutcome: html === undefined ? WebFetcher.#sourceUnavailable(fetched) : originOutcome,
|
|
251
259
|
};
|
|
252
260
|
}
|
|
253
261
|
if (result.outcome === "hard" || html === undefined) {
|
|
@@ -267,9 +275,7 @@ export default class WebFetcher {
|
|
|
267
275
|
...(html === undefined ? {} : { html }),
|
|
268
276
|
...(header === undefined ? {} : { header }),
|
|
269
277
|
bodyOutcome: failure(problem.status, problem.code, problem.detail, problem.retryable),
|
|
270
|
-
htmlOutcome: html === undefined
|
|
271
|
-
? failure(502, "html-unavailable", `Server-source HTML for ${fetched.url} was unavailable.`, true)
|
|
272
|
-
: originOutcome,
|
|
278
|
+
htmlOutcome: html === undefined ? WebFetcher.#sourceUnavailable(fetched) : originOutcome,
|
|
273
279
|
};
|
|
274
280
|
}
|
|
275
281
|
const projected = await WebFetcher.#project(html, projection);
|
|
@@ -295,12 +301,13 @@ export default class WebFetcher {
|
|
|
295
301
|
});
|
|
296
302
|
}
|
|
297
303
|
if (html === undefined) {
|
|
304
|
+
// {§readable-channel} — no source, nothing to project: both channels carry the origin's
|
|
305
|
+
// own failure, the source first.
|
|
306
|
+
const unavailable = WebFetcher.#sourceUnavailable(fetched);
|
|
298
307
|
return {
|
|
299
308
|
...(fetched.header === undefined ? {} : { header: fetched.header }),
|
|
300
|
-
bodyOutcome:
|
|
301
|
-
|
|
302
|
-
: { status: fetched.originFailure.status, failure: fetched.originFailure },
|
|
303
|
-
htmlOutcome: failure(502, "html-unavailable", `Server-source HTML for ${fetched.url} was unavailable.`, true),
|
|
309
|
+
bodyOutcome: unavailable,
|
|
310
|
+
htmlOutcome: unavailable,
|
|
304
311
|
};
|
|
305
312
|
}
|
|
306
313
|
const projected = await WebFetcher.#project(html, projection);
|
|
@@ -325,6 +332,13 @@ export default class WebFetcher {
|
|
|
325
332
|
htmlOutcome: originOutcome,
|
|
326
333
|
});
|
|
327
334
|
}
|
|
335
|
+
// The source channel's outcome when the origin supplied nothing: its own recorded failure,
|
|
336
|
+
// or the generic unavailability when the transport left none.
|
|
337
|
+
static #sourceUnavailable(fetched) {
|
|
338
|
+
return fetched.originFailure === undefined
|
|
339
|
+
? failure(502, "origin-unavailable", `The origin ${fetched.url} was unavailable.`, true)
|
|
340
|
+
: { status: fetched.originFailure.status, failure: fetched.originFailure };
|
|
341
|
+
}
|
|
328
342
|
static #originOutcome(fetched) {
|
|
329
343
|
const status = fetched.status ?? 200;
|
|
330
344
|
if (status < 400)
|
|
@@ -426,7 +440,6 @@ export default class WebFetcher {
|
|
|
426
440
|
opts?.signal?.throwIfAborted();
|
|
427
441
|
const target = rewriteAcquisitionTarget(url);
|
|
428
442
|
const requestHeaders = opts?.headers ?? [];
|
|
429
|
-
const authoredAccept = hasHeader(requestHeaders, "accept");
|
|
430
443
|
const conditionalHeaders = opts?.conditionalHeaders ?? [];
|
|
431
444
|
let transportHeaders = requestHeaders.map(([name, value]) => [name, value]);
|
|
432
445
|
if (!hasHeader(transportHeaders, "accept")) {
|
|
@@ -516,47 +529,8 @@ export default class WebFetcher {
|
|
|
516
529
|
if (MimetypeClassifier.isHtml(mimetype)) {
|
|
517
530
|
return { ...common, body: pageBody };
|
|
518
531
|
}
|
|
519
|
-
if (mimetype === "text/markdown")
|
|
520
|
-
|
|
521
|
-
if (authoredAccept)
|
|
522
|
-
return { ...common, body: markdown };
|
|
523
|
-
let html;
|
|
524
|
-
let htmlFailure;
|
|
525
|
-
const variantHeaders = replaceHeader(transportHeaders, "accept", "text/html");
|
|
526
|
-
try {
|
|
527
|
-
const variant = await request(target, variantHeaders);
|
|
528
|
-
const variantMimetype = responseMimetype(variant.headers.get("content-type"));
|
|
529
|
-
if (variant.ok && MimetypeClassifier.isHtml(variantMimetype)) {
|
|
530
|
-
html = { content: await variant.text(), mimetype: variantMimetype };
|
|
531
|
-
common.header = WebFetcher.#appendEvidence(common.header, WebFetcher.#htmlVariantEvidence(variant, url));
|
|
532
|
-
}
|
|
533
|
-
else {
|
|
534
|
-
await variant.body?.cancel();
|
|
535
|
-
htmlFailure = {
|
|
536
|
-
status: 502,
|
|
537
|
-
code: "html-variant-unavailable",
|
|
538
|
-
detail: `The origin did not provide an HTML variant of ${url}.`,
|
|
539
|
-
retryable: true,
|
|
540
|
-
};
|
|
541
|
-
}
|
|
542
|
-
}
|
|
543
|
-
catch (cause) {
|
|
544
|
-
if (opts?.signal?.aborted === true)
|
|
545
|
-
throw opts.signal.reason;
|
|
546
|
-
htmlFailure = {
|
|
547
|
-
status: 502,
|
|
548
|
-
code: "html-variant-unavailable",
|
|
549
|
-
detail: `The HTML variant of ${url} could not be acquired: ${ErrorDetail.preview(cause, ErrorDetail.configuredLimit())}`,
|
|
550
|
-
retryable: true,
|
|
551
|
-
};
|
|
552
|
-
}
|
|
553
|
-
return {
|
|
554
|
-
...common,
|
|
555
|
-
body: markdown,
|
|
556
|
-
...(html === undefined ? {} : { html }),
|
|
557
|
-
...(htmlFailure === undefined ? {} : { htmlFailure }),
|
|
558
|
-
};
|
|
559
|
-
}
|
|
532
|
+
if (mimetype === "text/markdown")
|
|
533
|
+
return { ...common, body: pageBody };
|
|
560
534
|
if (response.body === null)
|
|
561
535
|
return { ...common, body: "" };
|
|
562
536
|
const responseBody = response.body;
|
|
@@ -580,13 +554,5 @@ export default class WebFetcher {
|
|
|
580
554
|
cacheVariantEvidence(classifyCacheVariant(requestHeaders, responseHeaders)),
|
|
581
555
|
].join("\n");
|
|
582
556
|
}
|
|
583
|
-
static #htmlVariantEvidence(response, addressedUrl) {
|
|
584
|
-
return [
|
|
585
|
-
`x-plurnk-html-status: ${response.status}`,
|
|
586
|
-
`x-plurnk-html-response-url: ${safeEvidence(response.url || addressedUrl)}`,
|
|
587
|
-
`x-plurnk-html-fetched-at: ${new Date().toISOString()}`,
|
|
588
|
-
...[...response.headers].map(([name, value]) => `x-plurnk-html-response-header: ${safeEvidence(name)}: ${safeEvidence(value)}`),
|
|
589
|
-
];
|
|
590
|
-
}
|
|
591
557
|
}
|
|
592
558
|
//# sourceMappingURL=WebFetcher.js.map
|