@plurnk/plurnk-schemes-http 2.0.5 → 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/Http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Http.js","sourceRoot":"","sources":["../src/Http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Http.js","sourceRoot":"","sources":["../src/Http.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type ProjectionCaps, type StoredEntryData } from "@plurnk/plurnk-schemes";
2
+ export declare const fresh: (header: string, now?: number) => boolean;
3
+ export declare const requestMethod: (priorHeader: string) => string | undefined;
4
+ export declare const materializerIdentity: (priorHeader: string) => string | undefined;
5
+ export declare const sourceMimetype: (header: string) => string;
6
+ export declare const reusableGetRepresentation: (entry: StoredEntryData, requestHeaders: ReadonlyArray<readonly [string, string]>, projection: ProjectionCaps) => Promise<boolean>;
7
+ export declare const refreshAfter304: (header: string, responseHeaders: ReadonlyArray<readonly [string, string]>, requestHeaders: ReadonlyArray<readonly [string, string]>) => string;
8
+ export declare const revalidationCorresponds: (priorHeader: string, responseHeaders: Headers) => boolean;
9
+ export declare const validators: (priorHeader: string) => Array<[string, string]>;
10
+ //# sourceMappingURL=HttpCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpCache.d.ts","sourceRoot":"","sources":["../src/HttpCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,KAAK,cAAc,EACnB,KAAK,eAAe,EACvB,MAAM,wBAAwB,CAAC;AA6RhC,eAAO,MAAM,KAAK,WAAY,MAAM,mBAAqB,OAUxD,CAAC;AAEF,eAAO,MAAM,aAAa,gBAAiB,MAAM,KAAG,MAAM,GAAG,SACE,CAAC;AA0BhE,eAAO,MAAM,oBAAoB,gBAAiB,MAAM,KAAG,MAAM,GAAG,SACT,CAAC;AAE5D,eAAO,MAAM,cAAc,WAAY,MAAM,KAAG,MACqB,CAAC;AAmBtE,eAAO,MAAM,yBAAyB,UAC3B,eAAe,kBACN,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,cAC5C,cAAc,KAC3B,OAAO,CAAC,OAAO,CAUjB,CAAC;AAKF,eAAO,MAAM,eAAe,WAChB,MAAM,mBACG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,kBACzC,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KACzD,MA2CF,CAAC;AAEF,eAAO,MAAM,uBAAuB,gBAAiB,MAAM,mBAAmB,OAAO,KAAG,OA2BvF,CAAC;AAEF,eAAO,MAAM,UAAU,gBAAiB,MAAM,KAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAYtE,CAAC"}
@@ -0,0 +1,384 @@
1
+ import { MimetypeClassifier, } from "@plurnk/plurnk-schemes";
2
+ import { BODY, CACHE_VARIANT_HEADER, FETCHED_AT, HEADER, MATERIALIZER_ID_HEADER, PROJECTION_ID_HEADER, REQUEST_METHOD, cacheVariantEvidence, classifyCacheVariant, requireNonNegativeIntegerEnv as requireNumEnv, responseMimetype, } from "./HttpShared.js";
3
+ import WebFetcher from "./WebFetcher.js";
4
+ const DELTA_SECONDS_LIMIT = 2147483648n;
5
+ const HEURISTIC_CACHE_STATUSES = new Set([200, 203, 204, 206, 300, 301, 308, 404, 405, 410, 414, 501]);
6
+ const BODY_PROCESSING_FIELDS = new Set([
7
+ "content-encoding",
8
+ "content-length",
9
+ "content-range",
10
+ "content-type",
11
+ ]);
12
+ const splitHttpList = (value) => {
13
+ const members = [];
14
+ let start = 0;
15
+ let quoted = false;
16
+ let escaped = false;
17
+ for (let index = 0; index < value.length; index += 1) {
18
+ const character = value[index];
19
+ if (quoted) {
20
+ if (escaped)
21
+ escaped = false;
22
+ else if (character === "\\")
23
+ escaped = true;
24
+ else if (character === '"')
25
+ quoted = false;
26
+ }
27
+ else if (character === '"') {
28
+ quoted = true;
29
+ }
30
+ else if (character === ",") {
31
+ members.push(value.slice(start, index).trim());
32
+ start = index + 1;
33
+ }
34
+ }
35
+ members.push(value.slice(start).trim());
36
+ return members.filter((member) => member.length > 0);
37
+ };
38
+ const cacheDirective = (member) => {
39
+ const equals = member.indexOf("=");
40
+ const name = member.slice(0, equals < 0 ? undefined : equals).trim().toLowerCase();
41
+ if (!/^[!#$%&'*+.^_`|~0-9a-z-]+$/.test(name))
42
+ return null;
43
+ if (equals < 0)
44
+ return { name };
45
+ return { name, argument: member.slice(equals + 1).trim() };
46
+ };
47
+ const deltaMilliseconds = (argument) => {
48
+ if (argument === undefined)
49
+ return null;
50
+ const match = /^(?:([0-9]+)|"([0-9]+)")$/.exec(argument);
51
+ const digits = match?.[1] ?? match?.[2];
52
+ if (digits === undefined)
53
+ return null;
54
+ const seconds = BigInt(digits);
55
+ return Number(seconds > DELTA_SECONDS_LIMIT ? DELTA_SECONDS_LIMIT : seconds) * 1000;
56
+ };
57
+ const lastHeaderValue = (header, name) => {
58
+ const lines = header.split(/\r?\n/);
59
+ for (let index = lines.length - 1; index >= 0; index -= 1) {
60
+ const line = lines[index];
61
+ const colon = line.indexOf(":");
62
+ if (colon < 0 || line.slice(0, colon).trim().toLowerCase() !== name)
63
+ continue;
64
+ return line.slice(colon + 1).trim();
65
+ }
66
+ return undefined;
67
+ };
68
+ const entityTag = (value) => {
69
+ const match = /^(W\/)?"([\x21\x23-\x7e\x80-\xff]*)"$/.exec(value);
70
+ return match === null
71
+ ? null
72
+ : { weak: match[1] !== undefined, opaque: match[2] };
73
+ };
74
+ const MONTHS = [
75
+ "Jan", "Feb", "Mar", "Apr", "May", "Jun",
76
+ "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
77
+ ];
78
+ const WEEKDAYS = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
79
+ const IMF_FIXDATE = /^(Sun|Mon|Tue|Wed|Thu|Fri|Sat), ([0-9]{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ([0-9]{4}) ([0-9]{2}):([0-9]{2}):([0-9]{2}) GMT$/;
80
+ const RFC850_DATE = /^(Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday), ([0-9]{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2}) GMT$/;
81
+ const ASCTIME_DATE = /^(Sun|Mon|Tue|Wed|Thu|Fri|Sat) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (?: ([0-9])|([0-9]{2})) ([0-9]{2}):([0-9]{2}):([0-9]{2}) ([0-9]{4})$/;
82
+ const utcHttpDate = (weekday, day, month, year, hour, minute, second) => {
83
+ const monthIndex = MONTHS.indexOf(month);
84
+ const weekdayIndex = WEEKDAYS.indexOf(weekday.slice(0, 3));
85
+ const numericDay = Number(day);
86
+ const numericHour = Number(hour);
87
+ const numericMinute = Number(minute);
88
+ const numericSecond = Number(second);
89
+ if (monthIndex < 0 || weekdayIndex < 0)
90
+ return null;
91
+ const date = new Date(0);
92
+ date.setUTCFullYear(year, monthIndex, numericDay);
93
+ date.setUTCHours(numericHour, numericMinute, numericSecond, 0);
94
+ return date.getUTCFullYear() === year
95
+ && date.getUTCMonth() === monthIndex
96
+ && date.getUTCDate() === numericDay
97
+ && date.getUTCHours() === numericHour
98
+ && date.getUTCMinutes() === numericMinute
99
+ && date.getUTCSeconds() === numericSecond
100
+ && date.getUTCDay() === weekdayIndex
101
+ ? date.getTime()
102
+ : null;
103
+ };
104
+ const httpDate = (value, now = Date.now()) => {
105
+ const preferred = IMF_FIXDATE.exec(value);
106
+ if (preferred !== null) {
107
+ return utcHttpDate(preferred[1], preferred[2], preferred[3], Number(preferred[4]), preferred[5], preferred[6], preferred[7]);
108
+ }
109
+ const rfc850 = RFC850_DATE.exec(value);
110
+ if (rfc850 !== null) {
111
+ let year = 2000 + Number(rfc850[4]);
112
+ if (year > new Date(now).getUTCFullYear() + 50)
113
+ year -= 100;
114
+ return utcHttpDate(rfc850[1], rfc850[2], rfc850[3], year, rfc850[5], rfc850[6], rfc850[7]);
115
+ }
116
+ const asctime = ASCTIME_DATE.exec(value);
117
+ return asctime === null
118
+ ? null
119
+ : utcHttpDate(asctime[1], asctime[3] ?? asctime[4], asctime[2], Number(asctime[8]), asctime[5], asctime[6], asctime[7]);
120
+ };
121
+ // {§revalidation} The body and header must have settled successfully. An
122
+ // auxiliary channel may have terminally failed without invalidating body.
123
+ const representationComplete = (entry) => {
124
+ const bodyState = entry.channels[BODY]?.state;
125
+ const headerState = entry.channels[HEADER]?.state;
126
+ const successful = (state) => state === "static" || state === "closed";
127
+ const terminal = (state) => successful(state) || state === "errored";
128
+ return successful(bodyState)
129
+ && successful(headerState)
130
+ && Object.values(entry.channels).every(({ state }) => terminal(state));
131
+ };
132
+ // Package metadata is appended after origin headers, so the last value wins.
133
+ const fetchedAt = (priorHeader) => {
134
+ const value = lastHeaderValue(priorHeader, FETCHED_AT);
135
+ if (value === undefined)
136
+ return undefined;
137
+ const ms = Date.parse(value);
138
+ return Number.isNaN(ms) ? undefined : ms;
139
+ };
140
+ const headerField = (line) => {
141
+ const colon = line.indexOf(":");
142
+ if (colon < 0)
143
+ return null;
144
+ const name = line.slice(0, colon).trim().toLowerCase();
145
+ if (name.length === 0)
146
+ return null;
147
+ return { name, value: line.slice(colon + 1).trim(), line };
148
+ };
149
+ const packageStart = (lines) => {
150
+ let stampIndex = -1;
151
+ for (const [index, line] of lines.entries()) {
152
+ if (headerField(line)?.name === FETCHED_AT)
153
+ stampIndex = index;
154
+ }
155
+ if (stampIndex < 0)
156
+ return lines.length;
157
+ return headerField(lines[stampIndex - 1] ?? "")?.name === REQUEST_METHOD
158
+ ? stampIndex - 1
159
+ : stampIndex;
160
+ };
161
+ const originFields = (header) => {
162
+ const lines = header.split(/\r?\n/);
163
+ return lines.slice(1, packageStart(lines))
164
+ .map((line) => headerField(line))
165
+ .filter((field) => field !== null);
166
+ };
167
+ const originValues = (fields, name) => fields.filter((field) => field.name === name).map(({ value }) => value);
168
+ const storedCachePolicy = (header) => {
169
+ const fields = originFields(header);
170
+ const directives = originValues(fields, "cache-control")
171
+ .flatMap((value) => splitHttpList(value))
172
+ .map((member) => cacheDirective(member))
173
+ .filter((directive) => directive !== null);
174
+ const sharedMaxAges = directives.filter(({ name }) => name === "s-maxage");
175
+ const maxAges = sharedMaxAges.length > 0 ? sharedMaxAges
176
+ : directives.filter(({ name }) => name === "max-age");
177
+ let freshnessLifetimeMs;
178
+ if (maxAges.length > 0) {
179
+ freshnessLifetimeMs = maxAges.length === 1
180
+ ? deltaMilliseconds(maxAges[0].argument) ?? 0
181
+ : 0;
182
+ }
183
+ else {
184
+ const expiresValues = originValues(fields, "expires");
185
+ if (expiresValues.length > 0) {
186
+ const expires = expiresValues.length === 1
187
+ ? httpDate(expiresValues[0])
188
+ : null;
189
+ const fetched = fetchedAt(header);
190
+ if (expires === null || fetched === undefined) {
191
+ freshnessLifetimeMs = 0;
192
+ }
193
+ else {
194
+ const dateValues = originValues(fields, "date");
195
+ const parsedDate = dateValues.length === 1
196
+ ? httpDate(dateValues[0])
197
+ : null;
198
+ const generatedAt = parsedDate ?? fetched;
199
+ freshnessLifetimeMs = Math.max(0, expires - generatedAt);
200
+ }
201
+ }
202
+ }
203
+ const status = Number(/^HTTP ([0-9]{3})(?:\s|$)/.exec(header)?.[1]);
204
+ const explicitPermission = freshnessLifetimeMs !== undefined
205
+ || directives.some(({ name, argument }) => name === "public" && argument === undefined);
206
+ return {
207
+ cacheable: status >= 200 && status <= 599 && status !== 206
208
+ && !directives.some(({ name }) => name === "no-store" || name === "private")
209
+ && (HEURISTIC_CACHE_STATUSES.has(status) || explicitPermission),
210
+ noCache: directives.some(({ name }) => name === "no-cache"),
211
+ ...(freshnessLifetimeMs === undefined ? {} : { freshnessLifetimeMs }),
212
+ };
213
+ };
214
+ const currentAge = (header, fetched, now) => {
215
+ const fields = originFields(header);
216
+ const dateValues = originValues(fields, "date");
217
+ const date = dateValues.length === 1 ? httpDate(dateValues[0]) : null;
218
+ const apparentAge = date === null ? 0 : Math.max(0, fetched - date);
219
+ const ageMember = originValues(fields, "age").flatMap(splitHttpList)[0];
220
+ const ageValue = deltaMilliseconds(ageMember) ?? 0;
221
+ return Math.max(apparentAge, ageValue) + Math.max(0, now - fetched);
222
+ };
223
+ // {§revalidation} Validation-free reuse requires both the operator's local
224
+ // ceiling and the origin's response policy to remain live.
225
+ export const fresh = (header, now = Date.now()) => {
226
+ const fetched = fetchedAt(header);
227
+ const ttl = requireNumEnv("PLURNK_SCHEMES_HTTP_TTL_MS");
228
+ if (fetched === undefined || ttl <= 0)
229
+ return false;
230
+ const residentTime = Math.max(0, now - fetched);
231
+ if (residentTime >= ttl)
232
+ return false;
233
+ const policy = storedCachePolicy(header);
234
+ if (!policy.cacheable || policy.noCache)
235
+ return false;
236
+ return policy.freshnessLifetimeMs === undefined
237
+ || currentAge(header, fetched, now) < policy.freshnessLifetimeMs;
238
+ };
239
+ export const requestMethod = (priorHeader) => lastHeaderValue(priorHeader, REQUEST_METHOD)?.toUpperCase();
240
+ // Package evidence is authoritative only after the package acquisition
241
+ // stamp. An origin field with the same name remains inert.
242
+ const packageHeaderValue = (priorHeader, field) => {
243
+ const lines = priorHeader.split(/\r?\n/);
244
+ let stampIndex = -1;
245
+ for (const [index, line] of lines.entries()) {
246
+ const colon = line.indexOf(":");
247
+ if (colon < 0)
248
+ continue;
249
+ const name = line.slice(0, colon).trim().toLowerCase();
250
+ if (name === FETCHED_AT)
251
+ stampIndex = index;
252
+ }
253
+ if (stampIndex < 0)
254
+ return undefined;
255
+ let value;
256
+ for (const line of lines.slice(stampIndex + 1)) {
257
+ const colon = line.indexOf(":");
258
+ if (colon < 0 || line.slice(0, colon).trim().toLowerCase() !== field)
259
+ continue;
260
+ value = line.slice(colon + 1).trim();
261
+ }
262
+ return value === "" ? undefined : value;
263
+ };
264
+ const projectionIdentity = (priorHeader) => packageHeaderValue(priorHeader, PROJECTION_ID_HEADER);
265
+ export const materializerIdentity = (priorHeader) => packageHeaderValue(priorHeader, MATERIALIZER_ID_HEADER);
266
+ export const sourceMimetype = (header) => responseMimetype(lastHeaderValue(header, "content-type") ?? null);
267
+ const projectionCurrent = async (header, projection) => {
268
+ const sourceMime = sourceMimetype(header);
269
+ const isHtml = MimetypeClassifier.isHtml(sourceMime);
270
+ const matIdentity = materializerIdentity(header);
271
+ if (matIdentity !== undefined) {
272
+ // {§http-lifecycle} — a stored body produced by the current
273
+ // configured materializer (or the built-in producers) is current.
274
+ return WebFetcher.materializerCurrent(matIdentity);
275
+ }
276
+ if (isHtml && matIdentity === undefined)
277
+ return false;
278
+ const storedIdentity = projectionIdentity(header);
279
+ if (storedIdentity === undefined)
280
+ return !isHtml;
281
+ return await projection.identity(sourceMime) === storedIdentity;
282
+ };
283
+ // {§revalidation} Direct READ and exact FIND share the complete reusable
284
+ // representation predicate; freshness only decides how READ uses a match.
285
+ export const reusableGetRepresentation = async (entry, requestHeaders, projection) => {
286
+ const body = entry.channels[BODY];
287
+ const header = entry.channels[HEADER];
288
+ if (body === undefined || header === undefined)
289
+ return false;
290
+ return representationComplete(entry)
291
+ && requestMethod(header.content) === "GET"
292
+ && requestHeaders.length === 0
293
+ && packageHeaderValue(header.content, CACHE_VARIANT_HEADER) === "default"
294
+ && storedCachePolicy(header.content).cacheable
295
+ && await projectionCurrent(header.content, projection);
296
+ };
297
+ // RFC 9111 §3.2 permits a processed cache to retain the metadata that its
298
+ // stored body depends upon. Other 304 fields update by name; package-owned
299
+ // evidence is then rebuilt after the origin block. {§revalidation}
300
+ export const refreshAfter304 = (header, responseHeaders, requestHeaders) => {
301
+ const lines = header.split(/\r?\n/);
302
+ const origin = originFields(header);
303
+ const updates = responseHeaders.filter(([name]) => !BODY_PROCESSING_FIELDS.has(name.toLowerCase()));
304
+ const updatedNames = new Set(updates.map(([name]) => name.toLowerCase()));
305
+ const retained = origin.filter(({ name }) => !updatedNames.has(name));
306
+ const merged = [
307
+ ...retained.map(({ name, value }) => [name, value]),
308
+ ...updates,
309
+ ];
310
+ const rebuilt = [MATERIALIZER_ID_HEADER, PROJECTION_ID_HEADER].flatMap((field) => {
311
+ const value = packageHeaderValue(header, field);
312
+ return value === undefined ? [] : [`${field}: ${value}`];
313
+ });
314
+ const frameworkOwned = new Set([
315
+ CACHE_VARIANT_HEADER.toLowerCase(),
316
+ MATERIALIZER_ID_HEADER.toLowerCase(),
317
+ PROJECTION_ID_HEADER.toLowerCase(),
318
+ REQUEST_METHOD.toLowerCase(),
319
+ FETCHED_AT.toLowerCase(),
320
+ ]);
321
+ const packageEvidence = [
322
+ ...rebuilt,
323
+ ...lines.slice(1).filter((line) => {
324
+ const colon = line.indexOf(":");
325
+ if (colon <= 0)
326
+ return false;
327
+ const name = line.slice(0, colon).toLowerCase();
328
+ return name.startsWith("x-plurnk-")
329
+ && !frameworkOwned.has(name)
330
+ && !updatedNames.has(name);
331
+ }),
332
+ ];
333
+ return [
334
+ lines[0] ?? "HTTP 200 OK",
335
+ ...retained.map(({ line }) => line),
336
+ ...updates.map(([name, value]) => `${name}: ${value}`),
337
+ `${REQUEST_METHOD}: GET`,
338
+ `${FETCHED_AT}: ${new Date().toISOString()}`,
339
+ cacheVariantEvidence(classifyCacheVariant(requestHeaders, merged)),
340
+ ...packageEvidence,
341
+ ].join("\n");
342
+ };
343
+ export const revalidationCorresponds = (priorHeader, responseHeaders) => {
344
+ const fields = originFields(priorHeader);
345
+ const responseTagValue = responseHeaders.get("etag");
346
+ if (responseTagValue !== null) {
347
+ const storedTagValues = originValues(fields, "etag");
348
+ const responseTag = entityTag(responseTagValue);
349
+ const storedTag = storedTagValues.length === 1
350
+ ? entityTag(storedTagValues[0])
351
+ : null;
352
+ if (responseTag === null || storedTag === null)
353
+ return false;
354
+ // {§revalidation}: RFC 9111 §4.3.4 identifies stored responses;
355
+ // it is not the origin's If-None-Match precondition comparison.
356
+ return responseTag.opaque === storedTag.opaque
357
+ && (responseTag.weak || !storedTag.weak);
358
+ }
359
+ const responseModifiedValue = responseHeaders.get("last-modified");
360
+ const storedModifiedValues = originValues(fields, "last-modified");
361
+ const responseModified = responseModifiedValue === null
362
+ ? null
363
+ : httpDate(responseModifiedValue);
364
+ const storedModified = storedModifiedValues.length === 1
365
+ ? httpDate(storedModifiedValues[0])
366
+ : null;
367
+ return responseModified !== null
368
+ && storedModified !== null
369
+ && responseModified === storedModified;
370
+ };
371
+ export const validators = (priorHeader) => {
372
+ const fields = originFields(priorHeader);
373
+ const out = [];
374
+ const etags = originValues(fields, "etag");
375
+ if (etags.length === 1 && entityTag(etags[0]) !== null) {
376
+ out.push(["If-None-Match", etags[0]]);
377
+ }
378
+ const lastModified = originValues(fields, "last-modified");
379
+ if (lastModified.length === 1 && httpDate(lastModified[0]) !== null) {
380
+ out.push(["If-Modified-Since", lastModified[0]]);
381
+ }
382
+ return out;
383
+ };
384
+ //# sourceMappingURL=HttpCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HttpCache.js","sourceRoot":"","sources":["../src/HttpCache.ts"],"names":[],"mappings":"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"}
package/dist/HttpGet.d.ts CHANGED
@@ -1,32 +1,11 @@
1
- import type { SchemeCtx, StreamSubscription, ChannelProducerResult, PassthroughResult, RepresentationPreparationResult, UrlPath, EntryData, StoredEntryData, SchemeResult, ProjectionCaps } from "@plurnk/plurnk-schemes";
2
- import { NetworkAddress } from "@plurnk/plurnk-schemes";
3
- import WebFetcher, { WebMaterializationError } from "./WebFetcher.ts";
4
- import LiveAcquisitions from "./LiveAcquisitions.ts";
1
+ import type { RepresentationPreparationResult, SchemeCtx, UrlPath } from "@plurnk/plurnk-schemes";
2
+ import { LiveAcquisitions } from "./HttpShared.ts";
3
+ import WebFetcher from "./WebFetcher.ts";
5
4
  export default class HttpGet {
6
5
  #private;
7
- constructor({ live, webFetcher, address, requestHeaders, passthrough, requestMethod, reusableGetRepresentation, materializerIdentity, validators, materializationFailure, sourceMimetype, fresh, cancelled, bad, revalidationCorresponds, refreshAfter304, seedEntry, settleEventStream }: {
8
- webFetcher: WebFetcher;
9
- address: (target: UrlPath) => NetworkAddress | PassthroughResult;
10
- requestHeaders: (metadata: readonly string[] | null) => Array<[string, string]> | (PassthroughResult & ChannelProducerResult);
11
- passthrough: (result: SchemeResult) => PassthroughResult & ChannelProducerResult;
12
- requestMethod: (priorHeader: string) => string | undefined;
13
- reusableGetRepresentation: (entry: StoredEntryData, requestHeaders: ReadonlyArray<readonly [string, string]>, projection: ProjectionCaps) => Promise<boolean>;
14
- materializerIdentity: (priorHeader: string) => string | undefined;
15
- validators: (priorHeader: string) => Array<[string, string]>;
16
- materializationFailure: (url: string, method: string, error: WebMaterializationError) => PassthroughResult & ChannelProducerResult;
17
- sourceMimetype: (header: string) => string;
18
- fresh: (header: string, now?: number) => boolean;
19
- cancelled: (url: string, method: string) => PassthroughResult & ChannelProducerResult;
20
- bad: (status: number, scheme: string, kind: string, message: string, extensions?: Readonly<Record<string, unknown>>) => PassthroughResult & ChannelProducerResult;
21
- revalidationCorresponds: (priorHeader: string, responseHeaders: Headers) => boolean;
22
- refreshAfter304: (header: string, responseHeaders: ReadonlyArray<readonly [string, string]>, requestHeaders: ReadonlyArray<readonly [string, string]>) => string;
23
- seedEntry: () => EntryData;
24
- settleEventStream: (subscription: StreamSubscription, response: Response, options: {
25
- url: string;
26
- method: string;
27
- signal: AbortSignal;
28
- }) => Promise<void>;
6
+ constructor({ live, webFetcher }: {
29
7
  live: LiveAcquisitions;
8
+ webFetcher: WebFetcher;
30
9
  });
31
10
  prepareGet(target: UrlPath, metadata: readonly string[] | null, pathname: string, ctx: SchemeCtx): Promise<RepresentationPreparationResult>;
32
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HttpGet.d.ts","sourceRoot":"","sources":["../src/HttpGet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpGet.d.ts","sourceRoot":"","sources":["../src/HttpGet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAGR,+BAA+B,EAC/B,SAAS,EAGT,OAAO,EACV,MAAM,wBAAwB,CAAC;AAYhC,OAAO,EAGH,gBAAgB,EAUnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,UAA4D,MAAM,iBAAiB,CAAC;AAI3F,MAAM,CAAC,OAAO,OAAO,OAAO;;IAKxB,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;QAC9B,IAAI,EAAE,gBAAgB,CAAC;QACvB,UAAU,EAAE,UAAU,CAAC;KAC1B,EAGA;IAEK,UAAU,CACZ,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,EAClC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,SAAS,GACf,OAAO,CAAC,+BAA+B,CAAC,CAiL1C;CAuEJ"}