@braidlabs/gateway 0.7.0 → 0.7.1
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/package.json +1 -1
- package/src/gateway.js +62 -1
- package/src/gateway.js.map +1 -1
- package/src/node.js +16 -8
- package/src/node.js.map +1 -1
- package/src/rewriter/transforms.js +39 -0
- package/src/rewriter/transforms.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@braidlabs/gateway",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "Braid gateway — fetch-native origin-front middleware that routes fragment traffic by exact id under the reserved /__braid/frag/ namespace, loads fragment manifests, and passes everything else through to your existing app.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"micro-frontends",
|
package/src/gateway.js
CHANGED
|
@@ -694,6 +694,10 @@ export function createGateway(options) {
|
|
|
694
694
|
}
|
|
695
695
|
// the endpoint serves an embedded fragment, not a full document
|
|
696
696
|
fragmentRequest.headers.set('sec-fetch-dest', 'empty');
|
|
697
|
+
// only codings every platform fetch decodes, so the coding of what comes back is known: a
|
|
698
|
+
// browser's `zstd` would come back decoded by some runtimes and not others (see `forwardable`)
|
|
699
|
+
if (fragmentFetch === globalThis.fetch)
|
|
700
|
+
fragmentRequest.headers.set('accept-encoding', [...FETCH_DECODED_CODINGS].join(', '));
|
|
697
701
|
fragmentRequest.headers.set('x-braid-fragment-mode', 'embedded');
|
|
698
702
|
/**
|
|
699
703
|
* In development, present the request as coming from the endpoint's own origin.
|
|
@@ -763,7 +767,9 @@ export function createGateway(options) {
|
|
|
763
767
|
sent = true;
|
|
764
768
|
return runFetch(fetchTelemetry, () => fragmentFetch(fragmentRequest, { redirect: 'manual', signal: timeoutSignal }));
|
|
765
769
|
};
|
|
766
|
-
const
|
|
770
|
+
const sentResponse = key ? await singleFlight.run(key, send) : await send();
|
|
771
|
+
// a function endpoint hands over its own bytes; only the platform fetch decodes them
|
|
772
|
+
const response = forwardable(sentResponse, fragmentFetch === globalThis.fetch);
|
|
767
773
|
// A 5xx is a reachable endpoint, but it is not a working one — a fragment returning 500 on
|
|
768
774
|
// every request would otherwise hold the circuit closed forever and keep paying for it.
|
|
769
775
|
if (response.status >= 500)
|
|
@@ -1243,6 +1249,61 @@ function hopCount(request) {
|
|
|
1243
1249
|
const via = request.headers.get(BRAID_VIA_HEADER);
|
|
1244
1250
|
return via ? via.split(',').filter((entry) => entry.trim()).length : 0;
|
|
1245
1251
|
}
|
|
1252
|
+
/** The content codings every platform `fetch` decodes before handing over the body. */
|
|
1253
|
+
const FETCH_DECODED_CODINGS = new Set(['gzip', 'x-gzip', 'deflate', 'br']);
|
|
1254
|
+
/**
|
|
1255
|
+
* Headers that describe one connection, not the response (RFC 9110 §7.6.1). The gateway's
|
|
1256
|
+
* connection to the client is its own; forwarding the endpoint's would let the endpoint frame it —
|
|
1257
|
+
* a `transfer-encoding: identity` with the length removed leaves the body unframed on a keep-alive
|
|
1258
|
+
* connection, and a proxy in front may read the rest as its next response.
|
|
1259
|
+
*/
|
|
1260
|
+
const HOP_BY_HOP_HEADERS = ['connection', 'keep-alive', 'proxy-connection', 'transfer-encoding', 'te', 'trailer', 'upgrade', 'proxy-authenticate', 'proxy-authorization'];
|
|
1261
|
+
/**
|
|
1262
|
+
* An endpoint's response with headers that describe what the gateway will actually send.
|
|
1263
|
+
*
|
|
1264
|
+
* Hop-by-hop headers always go, with any the endpoint's `connection` names. And when the platform
|
|
1265
|
+
* `fetch` produced the response (`decodedByFetch`), the body was decoded but `content-encoding` and
|
|
1266
|
+
* `content-length` still describe the bytes on the wire. Forwarded as they are, the client gets a
|
|
1267
|
+
* body it cannot decode and — worse, on Node, which writes whatever bytes it is given — more bytes
|
|
1268
|
+
* than the declared length on a keep-alive connection. The surplus is read as the start of the
|
|
1269
|
+
* *next* response on that socket, so a different request fails. So for a coding `fetch` decodes,
|
|
1270
|
+
* both go and the server frames the body itself; any other coding is refused (below). An identity
|
|
1271
|
+
* response keeps its length. (The Node binding also refuses to write past a declared length,
|
|
1272
|
+
* whatever produced it.)
|
|
1273
|
+
*
|
|
1274
|
+
* Only what the platform `fetch` returned: a function endpoint hands over its own bytes and is
|
|
1275
|
+
* trusted to describe them — one that wraps `fetch` must drop these headers itself. On Workers,
|
|
1276
|
+
* which would re-encode a passed-through body, this costs the compression of that one hop.
|
|
1277
|
+
*/
|
|
1278
|
+
function forwardable(response, decodedByFetch) {
|
|
1279
|
+
const encoding = response.headers.get('content-encoding');
|
|
1280
|
+
const connection = response.headers.get('connection');
|
|
1281
|
+
const reframe = decodedByFetch && encoding !== null;
|
|
1282
|
+
// A coding the gateway did not ask for (it asks for exactly FETCH_DECODED_CODINGS): whether this
|
|
1283
|
+
// runtime's fetch decoded it varies — Node's decodes zstd — so neither the length nor the coding
|
|
1284
|
+
// can be said to describe the body. Refused, the same on every runtime, rather than guessed at.
|
|
1285
|
+
const codings = encoding?.split(',').map((coding) => coding.trim().toLowerCase()).filter(Boolean) ?? [];
|
|
1286
|
+
if (reframe && codings.some((coding) => coding !== 'identity' && !FETCH_DECODED_CODINGS.has(coding))) {
|
|
1287
|
+
void response.body?.cancel();
|
|
1288
|
+
return new Response(`braid-gateway: the endpoint answered in content-encoding "${encoding}", which was not requested`, {
|
|
1289
|
+
status: 502,
|
|
1290
|
+
headers: { 'content-type': 'text/plain; charset=utf-8' },
|
|
1291
|
+
});
|
|
1292
|
+
}
|
|
1293
|
+
if (!reframe && !HOP_BY_HOP_HEADERS.some((name) => response.headers.has(name)))
|
|
1294
|
+
return response;
|
|
1295
|
+
const headers = new Headers(response.headers);
|
|
1296
|
+
for (const name of connection?.split(',') ?? [])
|
|
1297
|
+
if (name.trim())
|
|
1298
|
+
headers.delete(name.trim());
|
|
1299
|
+
for (const name of HOP_BY_HOP_HEADERS)
|
|
1300
|
+
headers.delete(name);
|
|
1301
|
+
if (reframe) {
|
|
1302
|
+
headers.delete('content-length');
|
|
1303
|
+
headers.delete('content-encoding');
|
|
1304
|
+
}
|
|
1305
|
+
return new Response(response.body, { status: response.status, statusText: response.statusText, headers });
|
|
1306
|
+
}
|
|
1246
1307
|
/** Realm stub ETags by stub content, so a hot path does not hash the same few hundred bytes twice. */
|
|
1247
1308
|
const stubEtags = new Map();
|
|
1248
1309
|
/** A strong ETag over a realm stub's content. */
|
package/src/gateway.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../../libs/braid-gateway/src/gateway.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../../libs/braid-gateway/src/gateway.ts"],"names":[],"mappings":"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"}
|
package/src/node.js
CHANGED
|
@@ -51,24 +51,32 @@ export function toNodeMiddleware(gateway) {
|
|
|
51
51
|
if (setCookie?.length) {
|
|
52
52
|
headers['set-cookie'] = setCookie;
|
|
53
53
|
}
|
|
54
|
+
// A declared length is a promise about the bytes that follow, and Node otherwise writes
|
|
55
|
+
// whatever it is given: surplus bytes on a keep-alive connection are read as the start of the
|
|
56
|
+
// next response on it, which an endpoint could fill. Strict, a mismatch throws instead, and the
|
|
57
|
+
// connection is dropped rather than left out of step.
|
|
58
|
+
res.strictContentLength = true;
|
|
54
59
|
native.writeHead(response.status, headers);
|
|
55
|
-
|
|
56
|
-
native.end();
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
const reader = response.body.getReader();
|
|
60
|
+
const reader = response.body?.getReader();
|
|
60
61
|
try {
|
|
61
|
-
|
|
62
|
+
while (reader) {
|
|
62
63
|
const { done, value } = await reader.read();
|
|
63
64
|
if (done)
|
|
64
65
|
break;
|
|
65
66
|
native.write(value);
|
|
66
67
|
}
|
|
68
|
+
native.end();
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
// the rest of the endpoint's body is not going anywhere
|
|
72
|
+
void reader?.cancel().catch(() => undefined);
|
|
73
|
+
if (error.code !== 'ERR_HTTP_CONTENT_LENGTH_MISMATCH')
|
|
74
|
+
throw error;
|
|
75
|
+
res.destroy();
|
|
67
76
|
}
|
|
68
77
|
finally {
|
|
69
|
-
reader
|
|
78
|
+
reader?.releaseLock();
|
|
70
79
|
}
|
|
71
|
-
native.end();
|
|
72
80
|
})().catch(next);
|
|
73
81
|
};
|
|
74
82
|
}
|
package/src/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../libs/braid-gateway/src/node.ts"],"names":[],"mappings":"AAAA,OAAO,IAAmD,MAAM,WAAW,CAAC;AAC5E,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAqB;IAErB,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,0FAA0F;QAC1F,yFAAyF;QACzF,iDAAiD;QACjD,EAAE;QACF,4FAA4F;QAC5F,yFAAyF;QACzF,0CAA0C;QAC1C,MAAM,MAAM,GAAG;YACb,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;YAC1B,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;YACtB,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;SACnC,CAAC;QAEF,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;YAE7C,oFAAoF;YACpF,uFAAuF;YACvF,IAAI,QAAuC,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CACnC,OAAO,EACP,GAAG,EAAE,CAAC,CAAC,QAAQ,KAAK,yBAAyB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAC1D,CAAC;YAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,QAAQ;oBAAE,IAAI,EAAE,CAAC;gBACtB,OAAO;YACT,CAAC;YAED,qFAAqF;YACrF,qEAAqE;YACrE,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC;gBACxC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAED,MAAM,OAAO,GAAsC,EAAE,CAAC;YACtD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBACvC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;YACpD,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;gBACtB,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;YACpC,CAAC;YAED,
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../../libs/braid-gateway/src/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -145,6 +145,9 @@ export function prepareFragmentHtml(body, options) {
|
|
|
145
145
|
handlers: {
|
|
146
146
|
'*': {
|
|
147
147
|
element(tag) {
|
|
148
|
+
// before the handlers go: the onload is what says which media the sheet is really for
|
|
149
|
+
if (tag.tagName === 'link')
|
|
150
|
+
applyDeferredStylesheetMedia(tag);
|
|
148
151
|
for (const attributeName of tag.attributeNames) {
|
|
149
152
|
if (INLINE_EVENT_HANDLER.test(attributeName)) {
|
|
150
153
|
tag.removeAttribute(attributeName);
|
|
@@ -216,6 +219,42 @@ export function prepareFragmentHtml(body, options) {
|
|
|
216
219
|
},
|
|
217
220
|
});
|
|
218
221
|
}
|
|
222
|
+
/**
|
|
223
|
+
* The media an `onload="this.media='…'"` handler switches a stylesheet to.
|
|
224
|
+
*
|
|
225
|
+
* Captured only when the value is a plain media query list (range syntax included) — no quote or `&`,
|
|
226
|
+
* nothing a handler could smuggle out of the attribute — so the result is the same either way the
|
|
227
|
+
* browser would read it. The `this.onload=null` reset is accepted before or after.
|
|
228
|
+
*/
|
|
229
|
+
const DEFERRED_STYLESHEET_ONLOAD = /^\s*(?:this\.onload\s*=\s*null\s*;\s*)?this\.media\s*=\s*(['"])([\w\s(),:.<>=/-]+)\1\s*(?:;\s*this\.onload\s*=\s*null\s*)?(?:;\s*)?$/;
|
|
230
|
+
/**
|
|
231
|
+
* Longer than any real handler of that shape. The pattern is linear — no two whitespace runs are
|
|
232
|
+
* separated by only optional tokens, which made an earlier version quadratic on a long run of
|
|
233
|
+
* spaces — but a fragment's attribute is unbounded input, so it is not trusted to stay that way.
|
|
234
|
+
*/
|
|
235
|
+
const MAX_DEFERRED_STYLESHEET_ONLOAD = 512;
|
|
236
|
+
/**
|
|
237
|
+
* Applies the media a deferred stylesheet's `onload` would have switched it to.
|
|
238
|
+
*
|
|
239
|
+
* `<link rel="stylesheet" media="print" onload="this.media='all'">` is how Angular (through its
|
|
240
|
+
* critical-CSS inliner) and others load a stylesheet without blocking render: the sheet is fetched
|
|
241
|
+
* as print-only, and the handler promotes it once it arrives. The handler is an inline event
|
|
242
|
+
* handler, which this transform removes — so without this, the sheet would stay print-only and
|
|
243
|
+
* the fragment would render unstyled. Writing the promoted media up front costs only the
|
|
244
|
+
* non-blocking load, which a fragment's shadow root does not get anyway.
|
|
245
|
+
*
|
|
246
|
+
* A `media="print"` link with no such handler is a real print stylesheet and is left alone.
|
|
247
|
+
*/
|
|
248
|
+
function applyDeferredStylesheetMedia(tag) {
|
|
249
|
+
if (!/(?:^|\s)stylesheet(?:\s|$)/i.test(tag.getAttribute('rel') ?? ''))
|
|
250
|
+
return;
|
|
251
|
+
const onload = tag.getAttribute('onload') ?? '';
|
|
252
|
+
if (onload.length > MAX_DEFERRED_STYLESHEET_ONLOAD)
|
|
253
|
+
return;
|
|
254
|
+
const media = DEFERRED_STYLESHEET_ONLOAD.exec(onload)?.[2];
|
|
255
|
+
if (media)
|
|
256
|
+
tag.setAttribute('media', media.trim());
|
|
257
|
+
}
|
|
219
258
|
/**
|
|
220
259
|
* Removes a frame's document when the markup supplies it inline instead of naming one to load,
|
|
221
260
|
* marking the tag with what was removed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../../../../libs/braid-gateway/src/rewriter/transforms.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../../../../libs/braid-gateway/src/rewriter/transforms.ts"],"names":[],"mappings":"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"}
|