mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-24 06:14:01 +08:00
* Fix static string position defaults and coercion * Stabilize HTTP timeout differential fixtures
30 lines
793 B
TypeScript
30 lines
793 B
TypeScript
import { createServer, get } from "node:http";
|
|
|
|
let sendLate = () => {};
|
|
const server = createServer((_request, response) => {
|
|
let sent = false;
|
|
const finish = () => {
|
|
if (sent) return;
|
|
sent = true;
|
|
response.end("late");
|
|
};
|
|
const fallback = setTimeout(finish, 2000);
|
|
sendLate = () => { clearTimeout(fallback); finish(); };
|
|
response.flushHeaders();
|
|
});
|
|
|
|
server.listen(0, () => {
|
|
get({ port: server.address().port }, (response) => {
|
|
response.setTimeout(15, () => {
|
|
console.log("timed out", response.complete);
|
|
sendLate();
|
|
});
|
|
let body = "";
|
|
response.on("data", (chunk: Buffer) => { body += chunk.toString("utf8"); });
|
|
response.on("end", () => {
|
|
console.log("body", body, response.complete);
|
|
server.close();
|
|
});
|
|
});
|
|
});
|