Merge 4340181a31 into 4583f88626
This commit is contained in:
commit
b45e568cfe
@ -44,7 +44,7 @@ export async function ensureMediaHosted(
|
|||||||
if (!mediaServer) {
|
if (!mediaServer) {
|
||||||
mediaServer = await startMediaServer(port, TTL_MS, runtime);
|
mediaServer = await startMediaServer(port, TTL_MS, runtime);
|
||||||
logInfo(
|
logInfo(
|
||||||
`🦞 Started temporary media host on http://localhost:${port}/media/:id (TTL ${TTL_MS / 1000}s)`,
|
`🦞 Started temporary media host on http://127.0.0.1:${port}/media/:id (TTL ${TTL_MS / 1000}s)`,
|
||||||
runtime,
|
runtime,
|
||||||
);
|
);
|
||||||
mediaServer.unref?.();
|
mediaServer.unref?.();
|
||||||
|
|||||||
@ -54,6 +54,13 @@ describe("media server", () => {
|
|||||||
await new Promise((r) => server.close(r));
|
await new Promise((r) => server.close(r));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("binds to loopback by default", async () => {
|
||||||
|
const server = await startMediaServer(0, 5_000);
|
||||||
|
const addr = server.address() as AddressInfo;
|
||||||
|
expect(["127.0.0.1", "::1"]).toContain(addr.address);
|
||||||
|
await new Promise((r) => server.close(r));
|
||||||
|
});
|
||||||
|
|
||||||
it("expires old media", async () => {
|
it("expires old media", async () => {
|
||||||
const file = path.join(MEDIA_DIR, "old");
|
const file = path.join(MEDIA_DIR, "old");
|
||||||
await fs.writeFile(file, "stale");
|
await fs.writeFile(file, "stale");
|
||||||
|
|||||||
@ -84,11 +84,12 @@ export async function startMediaServer(
|
|||||||
port: number,
|
port: number,
|
||||||
ttlMs = DEFAULT_TTL_MS,
|
ttlMs = DEFAULT_TTL_MS,
|
||||||
runtime: RuntimeEnv = defaultRuntime,
|
runtime: RuntimeEnv = defaultRuntime,
|
||||||
|
host = "127.0.0.1",
|
||||||
): Promise<Server> {
|
): Promise<Server> {
|
||||||
const app = express();
|
const app = express();
|
||||||
attachMediaRoutes(app, ttlMs, runtime);
|
attachMediaRoutes(app, ttlMs, runtime);
|
||||||
return await new Promise((resolve, reject) => {
|
return await new Promise((resolve, reject) => {
|
||||||
const server = app.listen(port);
|
const server = app.listen(port, host);
|
||||||
server.once("listening", () => resolve(server));
|
server.once("listening", () => resolve(server));
|
||||||
server.once("error", (err) => {
|
server.once("error", (err) => {
|
||||||
runtime.error(danger(`Media server failed: ${String(err)}`));
|
runtime.error(danger(`Media server failed: ${String(err)}`));
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user