Skip to content

Commit f57cd7f

Browse files
committed
Apply credentialless COEP headers to py shinylive
1 parent f19fba4 commit f57cd7f

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

scripts/build.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -284,14 +284,12 @@ if (serve) {
284284
http.request(
285285
{ hostname: "0.0.0.0", port: 3001, path: url, method, headers },
286286
(proxyRes) => {
287-
if (appEngine === "r") {
288-
proxyRes.headers = {
289-
...proxyRes.headers,
290-
"cross-origin-opener-policy": "same-origin",
291-
"cross-origin-embedder-policy": "credentialless",
292-
"cross-origin-resource-policy": "cross-origin",
293-
};
294-
}
287+
proxyRes.headers = {
288+
...proxyRes.headers,
289+
"cross-origin-opener-policy": "same-origin",
290+
"cross-origin-embedder-policy": "credentialless",
291+
"cross-origin-resource-policy": "cross-origin",
292+
};
295293
if (url === "/shinylive/shinylive.js") {
296294
// JS code for does auto-reloading. We'll inject it into
297295
// shinylive.js as it's sent.

src/messageporthttp.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,13 @@ function asgiHeadersToRecord(headers: any): Record<string, string> {
211211
headers = headers.map(([key, val]: [Uint8Array, Uint8Array]) => {
212212
return [uint8ArrayToString(key), uint8ArrayToString(val)];
213213
});
214-
return Object.fromEntries(headers);
214+
return Object.assign(
215+
{
216+
"cross-origin-embedder-policy": "credentialless",
217+
"cross-origin-resource-policy": "cross-origin",
218+
},
219+
Object.fromEntries(headers)
220+
);
215221
}
216222

217223
function asgiBodyToArray(body: any): Uint8Array {

0 commit comments

Comments
 (0)