mirror of
https://github.com/oven-sh/bun
synced 2026-02-09 18:38:55 +00:00
Co-authored-by: Jarred Sumner <jarred@jarredsumner.com> Co-authored-by: Pham Minh Triet <92496972+Nanome203@users.noreply.github.com> Co-authored-by: snwy <snwy@snwy.me> Co-authored-by: Ciro Spaciari <ciro.spaciari@gmail.com> Co-authored-by: cirospaciari <cirospaciari@users.noreply.github.com> Co-authored-by: Ben Grant <ben@bun.sh>
27 lines
976 B
JavaScript
27 lines
976 B
JavaScript
const { createServer } = require("node:http");
|
|
|
|
// https://github.com/nodejs/undici/issues/1783
|
|
test("Content-Length is set when using a FormData body with fetch", async () => {
|
|
const { resolve, promise } = Promise.withResolvers();
|
|
const server = createServer((req, res) => {
|
|
// TODO: check the length's value once the boundary has a fixed length
|
|
expect("content-length" in req.headers).toBe(true); // request has content-length header
|
|
expect(Number.isNaN(Number(req.headers["content-length"]))).toBe(false); // content-length is a number
|
|
res.end();
|
|
}).listen(0, "127.0.0.1", resolve);
|
|
|
|
await promise;
|
|
const { port, address } = server.address();
|
|
|
|
const fd = new FormData();
|
|
fd.set("file", new Blob(["hello world 👋"], { type: "text/plain" }), "readme.md");
|
|
fd.set("string", "some string value");
|
|
|
|
await fetch(`http://${address}:${port}`, {
|
|
method: "POST",
|
|
body: fd,
|
|
});
|
|
|
|
await new Promise(resolve => server.close(resolve));
|
|
});
|