@absolutejs/absolute 0.19.0-beta.1073 → 0.19.0-beta.1075
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/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
- package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
- package/dist/angular/index.js +52 -7
- package/dist/angular/index.js.map +6 -5
- package/dist/angular/server.js +52 -7
- package/dist/angular/server.js.map +6 -5
- package/dist/build.js +45 -6
- package/dist/build.js.map +5 -4
- package/dist/cli/config/server.js +53 -7
- package/dist/index.js +54 -11
- package/dist/index.js.map +7 -6
- package/dist/react/index.js +55 -10
- package/dist/react/index.js.map +6 -5
- package/dist/react/server.js +53 -8
- package/dist/react/server.js.map +6 -5
- package/dist/src/core/pageResponseCache.d.ts +23 -0
- package/dist/src/react/pageHandler.d.ts +5 -0
- package/dist/src/svelte/pageHandler.d.ts +5 -0
- package/dist/src/vue/pageHandler.d.ts +5 -0
- package/dist/svelte/index.js +53 -8
- package/dist/svelte/index.js.map +6 -5
- package/dist/svelte/server.js +53 -8
- package/dist/svelte/server.js.map +6 -5
- package/dist/vue/index.js +55 -10
- package/dist/vue/index.js.map +6 -5
- package/dist/vue/server.js +53 -8
- package/dist/vue/server.js.map +6 -5
- package/package.json +5 -1
package/dist/angular/server.js
CHANGED
|
@@ -2471,6 +2471,43 @@ var init_devRouteRegistrationCallsite = __esm(() => {
|
|
|
2471
2471
|
pageHandlerWrappers = new WeakMap;
|
|
2472
2472
|
});
|
|
2473
2473
|
|
|
2474
|
+
// src/core/pageResponseCache.ts
|
|
2475
|
+
import { createHash as createHash2 } from "crypto";
|
|
2476
|
+
var STREAMING_PAGE_HEADER = "x-absolute-stream", HTML_CONTENT_TYPE = "text/html", streamingPageHeaders = (extra) => {
|
|
2477
|
+
const headers = new Headers(extra);
|
|
2478
|
+
headers.set("content-type", HTML_CONTENT_TYPE);
|
|
2479
|
+
headers.set(STREAMING_PAGE_HEADER, "1");
|
|
2480
|
+
return headers;
|
|
2481
|
+
}, computeEtag = (html) => `W/"${createHash2("sha1").update(html).digest("base64url")}"`, withPageCacheHeaders = async (response, request, options) => {
|
|
2482
|
+
const contentType = response.headers.get("content-type") ?? "";
|
|
2483
|
+
if (!contentType.includes(HTML_CONTENT_TYPE))
|
|
2484
|
+
return response;
|
|
2485
|
+
const isStreaming = response.headers.get(STREAMING_PAGE_HEADER) === "1";
|
|
2486
|
+
if (isStreaming && !options?.bufferStreamForEtag || !response.body) {
|
|
2487
|
+
response.headers.delete(STREAMING_PAGE_HEADER);
|
|
2488
|
+
response.headers.set("cache-control", "no-cache");
|
|
2489
|
+
return response;
|
|
2490
|
+
}
|
|
2491
|
+
const html = await response.text();
|
|
2492
|
+
const etag = computeEtag(html);
|
|
2493
|
+
if (request?.headers.get("if-none-match") === etag) {
|
|
2494
|
+
return new Response(null, {
|
|
2495
|
+
headers: { "cache-control": "no-cache", etag },
|
|
2496
|
+
status: 304
|
|
2497
|
+
});
|
|
2498
|
+
}
|
|
2499
|
+
const headers = new Headers(response.headers);
|
|
2500
|
+
headers.delete(STREAMING_PAGE_HEADER);
|
|
2501
|
+
headers.set("cache-control", "no-cache");
|
|
2502
|
+
headers.set("etag", etag);
|
|
2503
|
+
return new Response(html, {
|
|
2504
|
+
headers,
|
|
2505
|
+
status: response.status,
|
|
2506
|
+
statusText: response.statusText
|
|
2507
|
+
});
|
|
2508
|
+
};
|
|
2509
|
+
var init_pageResponseCache = () => {};
|
|
2510
|
+
|
|
2474
2511
|
// src/client/streamSwap.ts
|
|
2475
2512
|
var streamSwapRuntime = () => {
|
|
2476
2513
|
const absoluteWindow = window;
|
|
@@ -6084,8 +6121,12 @@ var resetSsrSanitizer = () => {
|
|
|
6084
6121
|
ssrSanitizer = null;
|
|
6085
6122
|
};
|
|
6086
6123
|
|
|
6124
|
+
// src/angular/pageHandler.ts
|
|
6125
|
+
init_pageResponseCache();
|
|
6126
|
+
|
|
6087
6127
|
// src/core/responseEnhancers.ts
|
|
6088
6128
|
init_streamingSlots();
|
|
6129
|
+
init_pageResponseCache();
|
|
6089
6130
|
var toResponse = async (responseLike) => responseLike;
|
|
6090
6131
|
var cloneHeaders = (response) => {
|
|
6091
6132
|
const headers = new Headers(response.headers);
|
|
@@ -6109,8 +6150,10 @@ var enhanceHtmlResponseWithStreamingSlots = (response, {
|
|
|
6109
6150
|
runtimePlacement,
|
|
6110
6151
|
runtimePreludeScript
|
|
6111
6152
|
});
|
|
6153
|
+
const headers = cloneHeaders(response);
|
|
6154
|
+
headers.set(STREAMING_PAGE_HEADER, "1");
|
|
6112
6155
|
return new Response(body, {
|
|
6113
|
-
headers
|
|
6156
|
+
headers,
|
|
6114
6157
|
status: response.status,
|
|
6115
6158
|
statusText: response.statusText
|
|
6116
6159
|
});
|
|
@@ -6371,17 +6414,19 @@ var handleAngularPageRequest = async (input) => {
|
|
|
6371
6414
|
const html = injectIslandPageContext(injectSsrScripts(htmlWithLoweredIslands, requestId, resolvedIndexPath, maybeRequestContext), { hasIslands: shouldProcessIslands });
|
|
6372
6415
|
return new Response(html, withHtmlContentType(responseInit));
|
|
6373
6416
|
};
|
|
6374
|
-
|
|
6417
|
+
const pageResponse = await runWithStreamingSlotWarningScope(() => options?.collectStreamingSlots === true ? withRegisteredStreamingSlots(renderPageResponse, options) : renderPageResponse(), { handlerCallsite });
|
|
6418
|
+
return withPageCacheHeaders(pageResponse, input.request);
|
|
6375
6419
|
} catch (error) {
|
|
6376
6420
|
console.error("[SSR] Angular render error:", error);
|
|
6377
6421
|
const pageName = derivePageName(resolvedPagePath);
|
|
6378
6422
|
const conventionResponse = await renderConventionError("angular", pageName, error);
|
|
6379
|
-
if (conventionResponse)
|
|
6380
|
-
return conventionResponse;
|
|
6381
|
-
|
|
6423
|
+
if (conventionResponse) {
|
|
6424
|
+
return withPageCacheHeaders(conventionResponse, input.request);
|
|
6425
|
+
}
|
|
6426
|
+
return withPageCacheHeaders(new Response(ssrErrorPage("angular", error), {
|
|
6382
6427
|
headers: { "Content-Type": "text/html" },
|
|
6383
6428
|
status: 500
|
|
6384
|
-
});
|
|
6429
|
+
}), input.request);
|
|
6385
6430
|
}
|
|
6386
6431
|
});
|
|
6387
6432
|
};
|
|
@@ -6407,5 +6452,5 @@ export {
|
|
|
6407
6452
|
ABSOLUTE_HTTP_TRANSFER_CACHE_SKIP_HEADER
|
|
6408
6453
|
};
|
|
6409
6454
|
|
|
6410
|
-
//# debugId=
|
|
6455
|
+
//# debugId=D2A717D42FCCB58164756E2164756E21
|
|
6411
6456
|
//# sourceMappingURL=server.js.map
|