cesium-native/tools/test-wasm-server/index.js

56 lines
1.6 KiB
JavaScript

const express = require("express");
const fs = require("fs");
const app = express();
const port = 3123;
app.use(express.static("./", {
setHeaders: (res, path, stat) => {
res.set("Cross-Origin-Opener-Policy", "same-origin");
res.set("Cross-Origin-Embedder-Policy", "require-corp");
}
}));
const emsdk = process.env.EMSDK;
if (emsdk && emsdk.length > 0) {
console.log(`Using emsdk at: ${emsdk}`);
app.use("/emsdk/emscripten", express.static(`${emsdk}/upstream/emscripten`, {
setHeaders: (res, path, stat) => {
res.set("Cross-Origin-Opener-Policy", "same-origin");
res.set("Cross-Origin-Embedder-Policy", "require-corp");
}
}));
app.use("/emsdk/upstream", express.static(`${emsdk}/upstream`, {
setHeaders: (res, path, stat) => {
res.set("Cross-Origin-Opener-Policy", "same-origin");
res.set("Cross-Origin-Embedder-Policy", "require-corp");
}
}));
} else {
console.log("Not mapping emsdk path because EMSDK environment variable is not set.");
}
const ezvcpkg = process.env.EZVCPKG_BASEDIR;
if (!ezvcpkg || ezvcpkg.length === 0) {
ezvcpkg = `${process.env.HOME ?? ""}/.ezvcpkg`;
}
if (fs.existsSync(ezvcpkg)) {
console.log(`Using ezvcpkg at: ${ezvcpkg}`);
app.use("/ezvcpkg", express.static(ezvcpkg, {
setHeaders: (res, path, stat) => {
res.set("Cross-Origin-Opener-Policy", "same-origin");
res.set("Cross-Origin-Embedder-Policy", "require-corp");
}
}));
} else {
console.log("Not mapping ezvcpkg path because EZVCPKG_BASEDIR environment variable is not set or directory does not exist.");
}
app.listen(port, () => {
console.log(`listening on port ${port}`);
});