Spaces:
Running
Running
File size: 808 Bytes
6b3405c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import { 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",
},
];
crossOriginIsolationHeaders.forEach(({ key, value }) => {
response.setHeader(key, value);
});
next();
});
}
|