Skip to content

Commit da61381

Browse files
test(eio): bump uWebSockets.js to version 20.48.0
1 parent 19c48a4 commit da61381

File tree

5 files changed

+35
-21
lines changed

5 files changed

+35
-21
lines changed

Diff for: package-lock.json

+5-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
"ts-node": "^10.9.2",
6969
"tsd": "^0.31.1",
7070
"typescript": "^5.5.3",
71-
"uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.30.0",
71+
"uWebSockets.js": "github:uNetworking/uWebSockets.js#v20.48.0",
7272
"wdio-geckodriver-service": "^5.0.2"
7373
}
7474
}

Diff for: packages/engine.io/test/common.js

+11
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,17 @@ const { Socket } =
44
? require("engine.io-client-v3")
55
: require("engine.io-client");
66

7+
switch (process.env.EIO_WS_ENGINE) {
8+
case "uws":
9+
console.log(
10+
"[WARN] testing with uWebSockets.js instead of Node.js built-in HTTP server",
11+
);
12+
break;
13+
case "eiows":
14+
console.log("[WARN] testing with eiows instead of ws");
15+
break;
16+
}
17+
718
/**
819
* Listen shortcut that fires a callback on an ephemeral port.
920
*/

Diff for: packages/engine.io/test/server.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -817,7 +817,7 @@ describe("server", () => {
817817
.end((err, res) => {
818818
if (process.env.EIO_WS_ENGINE === "uws") {
819819
expect(err).to.not.be(null);
820-
expect(err.message).to.be("socket hang up");
820+
expect(err.status).to.be(404);
821821
} else {
822822
expect(err).to.be(null);
823823
// this should not work, but it is kept for backward-compatibility

Diff for: packages/socket.io/lib/uws.ts

+17-15
Original file line numberDiff line numberDiff line change
@@ -135,25 +135,27 @@ export function serveFile(res /* : HttpResponse */, filepath: string) {
135135
const onDataChunk = (chunk: Buffer) => {
136136
const arrayBufferChunk = toArrayBuffer(chunk);
137137

138-
const lastOffset = res.getWriteOffset();
139-
const [ok, done] = res.tryEnd(arrayBufferChunk, size);
138+
res.cork(() => {
139+
const lastOffset = res.getWriteOffset();
140+
const [ok, done] = res.tryEnd(arrayBufferChunk, size);
140141

141-
if (!done && !ok) {
142-
readStream.pause();
142+
if (!done && !ok) {
143+
readStream.pause();
143144

144-
res.onWritable((offset) => {
145-
const [ok, done] = res.tryEnd(
146-
arrayBufferChunk.slice(offset - lastOffset),
147-
size,
148-
);
145+
res.onWritable((offset) => {
146+
const [ok, done] = res.tryEnd(
147+
arrayBufferChunk.slice(offset - lastOffset),
148+
size,
149+
);
149150

150-
if (!done && ok) {
151-
readStream.resume();
152-
}
151+
if (!done && ok) {
152+
readStream.resume();
153+
}
153154

154-
return ok;
155-
});
156-
}
155+
return ok;
156+
});
157+
}
158+
});
157159
};
158160

159161
res.onAborted(destroyReadStream);

0 commit comments

Comments
 (0)