@absolutejs/absolute 0.19.0-beta.1073 → 0.19.0-beta.1074
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 +50 -7
- package/dist/angular/index.js.map +6 -5
- package/dist/angular/server.js +50 -7
- package/dist/angular/server.js.map +6 -5
- package/dist/build.js +43 -6
- package/dist/build.js.map +5 -4
- package/dist/cli/config/server.js +49 -7
- package/dist/index.js +52 -11
- package/dist/index.js.map +7 -6
- package/dist/react/index.js +51 -10
- package/dist/react/index.js.map +6 -5
- package/dist/react/server.js +49 -8
- package/dist/react/server.js.map +6 -5
- package/dist/src/core/pageResponseCache.d.ts +9 -0
- package/dist/svelte/index.js +49 -8
- package/dist/svelte/index.js.map +6 -5
- package/dist/svelte/server.js +49 -8
- package/dist/svelte/server.js.map +6 -5
- package/dist/vue/index.js +51 -10
- package/dist/vue/index.js.map +6 -5
- package/dist/vue/server.js +49 -8
- package/dist/vue/server.js.map +6 -5
- package/package.json +5 -1
package/dist/svelte/server.js
CHANGED
|
@@ -1169,6 +1169,41 @@ var init_devRouteRegistrationCallsite = __esm(() => {
|
|
|
1169
1169
|
pageHandlerWrappers = new WeakMap;
|
|
1170
1170
|
});
|
|
1171
1171
|
|
|
1172
|
+
// src/core/pageResponseCache.ts
|
|
1173
|
+
import { createHash as createHash2 } from "crypto";
|
|
1174
|
+
var STREAMING_PAGE_HEADER = "x-absolute-stream", HTML_CONTENT_TYPE = "text/html", streamingPageHeaders = (extra) => {
|
|
1175
|
+
const headers = new Headers(extra);
|
|
1176
|
+
headers.set("content-type", HTML_CONTENT_TYPE);
|
|
1177
|
+
headers.set(STREAMING_PAGE_HEADER, "1");
|
|
1178
|
+
return headers;
|
|
1179
|
+
}, computeEtag = (html) => `W/"${createHash2("sha1").update(html).digest("base64url")}"`, withPageCacheHeaders = async (response, request) => {
|
|
1180
|
+
const contentType = response.headers.get("content-type") ?? "";
|
|
1181
|
+
if (!contentType.includes(HTML_CONTENT_TYPE))
|
|
1182
|
+
return response;
|
|
1183
|
+
if (response.headers.get(STREAMING_PAGE_HEADER) === "1" || !response.body) {
|
|
1184
|
+
response.headers.delete(STREAMING_PAGE_HEADER);
|
|
1185
|
+
response.headers.set("cache-control", "no-cache");
|
|
1186
|
+
return response;
|
|
1187
|
+
}
|
|
1188
|
+
const html = await response.text();
|
|
1189
|
+
const etag = computeEtag(html);
|
|
1190
|
+
if (request?.headers.get("if-none-match") === etag) {
|
|
1191
|
+
return new Response(null, {
|
|
1192
|
+
headers: { "cache-control": "no-cache", etag },
|
|
1193
|
+
status: 304
|
|
1194
|
+
});
|
|
1195
|
+
}
|
|
1196
|
+
const headers = new Headers(response.headers);
|
|
1197
|
+
headers.set("cache-control", "no-cache");
|
|
1198
|
+
headers.set("etag", etag);
|
|
1199
|
+
return new Response(html, {
|
|
1200
|
+
headers,
|
|
1201
|
+
status: response.status,
|
|
1202
|
+
statusText: response.statusText
|
|
1203
|
+
});
|
|
1204
|
+
};
|
|
1205
|
+
var init_pageResponseCache = () => {};
|
|
1206
|
+
|
|
1172
1207
|
// src/client/streamSwap.ts
|
|
1173
1208
|
var streamSwapRuntime = () => {
|
|
1174
1209
|
const absoluteWindow = window;
|
|
@@ -2445,9 +2480,11 @@ var setCurrentIslandManifest = (manifest) => {
|
|
|
2445
2480
|
|
|
2446
2481
|
// src/svelte/pageHandler.ts
|
|
2447
2482
|
init_devRouteRegistrationCallsite();
|
|
2483
|
+
init_pageResponseCache();
|
|
2448
2484
|
|
|
2449
2485
|
// src/core/responseEnhancers.ts
|
|
2450
2486
|
init_streamingSlots();
|
|
2487
|
+
init_pageResponseCache();
|
|
2451
2488
|
var toResponse = async (responseLike) => responseLike;
|
|
2452
2489
|
var cloneHeaders = (response) => {
|
|
2453
2490
|
const headers = new Headers(response.headers);
|
|
@@ -2471,8 +2508,10 @@ var enhanceHtmlResponseWithStreamingSlots = (response, {
|
|
|
2471
2508
|
runtimePlacement,
|
|
2472
2509
|
runtimePreludeScript
|
|
2473
2510
|
});
|
|
2511
|
+
const headers = cloneHeaders(response);
|
|
2512
|
+
headers.set(STREAMING_PAGE_HEADER, "1");
|
|
2474
2513
|
return new Response(body, {
|
|
2475
|
-
headers
|
|
2514
|
+
headers,
|
|
2476
2515
|
status: response.status,
|
|
2477
2516
|
statusText: response.statusText
|
|
2478
2517
|
});
|
|
@@ -2970,28 +3009,30 @@ var handleSveltePageRequest = async (input) => {
|
|
|
2970
3009
|
});
|
|
2971
3010
|
const { firstChunk, reader } = await primeSvelteStream(htmlStream);
|
|
2972
3011
|
return new Response(restorePrimedStream(firstChunk, reader), {
|
|
2973
|
-
headers:
|
|
3012
|
+
headers: streamingPageHeaders()
|
|
2974
3013
|
});
|
|
2975
3014
|
};
|
|
2976
|
-
|
|
3015
|
+
const pageResponse = await runWithStreamingSlotWarningScope(() => resolvedOptions?.collectStreamingSlots === true ? withRegisteredStreamingSlots(renderPageResponse, {
|
|
2977
3016
|
...resolvedOptions,
|
|
2978
3017
|
runtimePlacement: resolvedOptions.runtimePlacement ?? "body"
|
|
2979
3018
|
}) : renderPageResponse(), { handlerCallsite });
|
|
3019
|
+
return withPageCacheHeaders(pageResponse, input.request);
|
|
2980
3020
|
} catch (error) {
|
|
2981
3021
|
console.error("[SSR] Svelte render error:", error);
|
|
2982
3022
|
const pageName = derivePageName(resolvedPagePath);
|
|
2983
3023
|
const conventionResponse = await renderConventionError("svelte", pageName, error);
|
|
2984
|
-
if (conventionResponse)
|
|
2985
|
-
return conventionResponse;
|
|
2986
|
-
|
|
3024
|
+
if (conventionResponse) {
|
|
3025
|
+
return withPageCacheHeaders(conventionResponse, input.request);
|
|
3026
|
+
}
|
|
3027
|
+
return withPageCacheHeaders(new Response(ssrErrorPage("svelte", error), {
|
|
2987
3028
|
headers: { "Content-Type": "text/html" },
|
|
2988
3029
|
status: 500
|
|
2989
|
-
});
|
|
3030
|
+
}), input.request);
|
|
2990
3031
|
}
|
|
2991
3032
|
};
|
|
2992
3033
|
export {
|
|
2993
3034
|
handleSveltePageRequest
|
|
2994
3035
|
};
|
|
2995
3036
|
|
|
2996
|
-
//# debugId=
|
|
3037
|
+
//# debugId=AA67A6447863E6B964756E2164756E21
|
|
2997
3038
|
//# sourceMappingURL=server.js.map
|