MiniSearch / server /crossOriginServerHook.ts
github-actions[bot]
Sync to HuggingFace Spaces
c023610
raw
history blame contribute delete
813 Bytes
import type { PreviewServer, ViteDevServer } from "vite";
export function crossOriginServerHook<T extends ViteDevServer | PreviewServer>(
server: T,
) {
server.middlewares.use((_, response, next) => {
/** Server headers for cross origin isolation, which enable clients to use `SharedArrayBuffer` on the Browser. */
const crossOriginIsolationHeaders: { key: string; value: string }[] = [
{
key: "Cross-Origin-Embedder-Policy",
value: "require-corp",
},
{
key: "Cross-Origin-Opener-Policy",
value: "same-origin",
},
{
key: "Cross-Origin-Resource-Policy",
value: "cross-origin",
},
];
for (const { key, value } of crossOriginIsolationHeaders) {
response.setHeader(key, value);
}
next();
});
}