Files
speckle-server/packages/frontend-2/server/middleware/004-sharedArrayBufferHeaders.ts
T
Kristaps Fabians Geikins cad77b92c9 feat(fe2): conditional cross origin isolation on viewer page (#5124)
* feat(fe2): conditional cross origin isolation on viewer page

* minor change

* minor cleanup
2025-07-22 10:14:49 +03:00

22 lines
538 B
TypeScript

const viewerPathRgx = /^\/projects\/[\w\d]+\/models\/[\w\d]+$/i
export default defineEventHandler((event) => {
// Only work on viewer page
const url = getRequestURL(event)
const path = url.pathname
if (!viewerPathRgx.test(path)) {
return
}
// Only set if query set `sharedArrayBufferHeaders=1`
const query = getQuery(event)
if (query.sharedArrayBufferHeaders !== '1') {
return
}
setHeaders(event, {
'Cross-Origin-Opener-Policy': 'same-origin',
'Cross-Origin-Embedder-Policy': 'require-corp'
})
})