aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/bun-types/bun.d.ts4
-rw-r--r--src/bun.js/api/server.zig10
-rw-r--r--test/js/bun/websocket/websocket-server.test.ts15
3 files changed, 15 insertions, 14 deletions
diff --git a/packages/bun-types/bun.d.ts b/packages/bun-types/bun.d.ts
index d06a7235e..5558e2db7 100644
--- a/packages/bun-types/bun.d.ts
+++ b/packages/bun-types/bun.d.ts
@@ -1334,7 +1334,9 @@ declare module "bun" {
/**
* Configure the {@link WebSocketHandler.message} callback to return a {@link ArrayBuffer} or {@link Buffer} instead of a {@link Uint8Array}
*
- * @default "uint8array"
+ * @default "nodebuffer"
+ *
+ * In Bun v0.6.2 and earlier, this defaulted to "uint8array"
*/
binaryType?: "arraybuffer" | "uint8array" | "nodebuffer";
}
diff --git a/src/bun.js/api/server.zig b/src/bun.js/api/server.zig
index 59410d0cb..2ce7347c0 100644
--- a/src/bun.js/api/server.zig
+++ b/src/bun.js/api/server.zig
@@ -3256,7 +3256,7 @@ pub const ServerWebSocket = struct {
this_value: JSValue = .zero,
websocket: uws.AnyWebSocket = undefined,
closed: bool = false,
- binary_type: JSC.BinaryType = .Uint8Array,
+ binary_type: JSC.BinaryType = .Buffer,
opened: bool = false,
pub usingnamespace JSC.Codegen.JSServerWebSocket;
@@ -3355,17 +3355,17 @@ pub const ServerWebSocket = struct {
str.markUTF8();
break :brk str.toValueGC(globalObject);
},
- .binary => if (this.binary_type == .Uint8Array)
+ .binary => if (this.binary_type == .Buffer)
JSC.ArrayBuffer.create(
globalObject,
message,
- .Uint8Array,
+ .Buffer,
)
- else if (this.binary_type == .Buffer)
+ else if (this.binary_type == .Uint8Array)
JSC.ArrayBuffer.create(
globalObject,
message,
- .Buffer,
+ .Uint8Array,
)
else
JSC.ArrayBuffer.create(
diff --git a/test/js/bun/websocket/websocket-server.test.ts b/test/js/bun/websocket/websocket-server.test.ts
index 014178b84..3868d0267 100644
--- a/test/js/bun/websocket/websocket-server.test.ts
+++ b/test/js/bun/websocket/websocket-server.test.ts
@@ -171,7 +171,6 @@ describe("websocket server", () => {
it("close inside open", async () => {
var resolve: () => void;
- console.trace("here");
var server = serve({
port: 0,
websocket: {
@@ -441,7 +440,7 @@ describe("websocket server", () => {
// Then after nodebuffer, we switch it to "arraybuffer"
// and then we're done
switch (ws.binaryType) {
- case "uint8array": {
+ case "nodebuffer": {
for (let badType of [
123,
NaN,
@@ -457,20 +456,20 @@ describe("websocket server", () => {
ws.binaryType = badType;
}).toThrow();
}
- expect(ws.binaryType).toBe("uint8array");
- ws.binaryType = "nodebuffer";
expect(ws.binaryType).toBe("nodebuffer");
+ ws.binaryType = "uint8array";
+ expect(ws.binaryType).toBe("uint8array");
expect(msg instanceof Uint8Array).toBe(true);
- expect(Buffer.isBuffer(msg)).toBe(false);
+ expect(Buffer.isBuffer(msg)).toBe(true);
break;
}
- case "nodebuffer": {
- expect(ws.binaryType).toBe("nodebuffer");
+ case "uint8array": {
+ expect(ws.binaryType).toBe("uint8array");
ws.binaryType = "arraybuffer";
expect(ws.binaryType).toBe("arraybuffer");
expect(msg instanceof Uint8Array).toBe(true);
- expect(Buffer.isBuffer(msg)).toBe(true);
+ expect(Buffer.isBuffer(msg)).toBe(false);
break;
}