@@ -16,16 +16,18 @@ fn respond(f: *Frame, key: []const u8) !void {
f.status = .switching_protocols;
f.content_type = null;
try f.headers.addCustom("Upgrade", "websocket");
try f.headers.addCustom("Connection", "Upgrade");
var digest: [Hash.digest_length]u8 = undefined;
var encoded: [28]u8 = undefined;
var sha = Hash.init(.{});
sha.update(key);
sha.update("258EAFA5-E914-47DA-95CA-C5AB0DC85B11");
var digest: [Hash.digest_length]u8 = undefined;
sha.final(&digest);
var encoded: [28]u8 = undefined;
_ = base64.encode(&encoded, &digest);
try f.headers.addCustom("Upgrade", "websocket");
try f.headers.addCustom("Connection", "Upgrade");
try f.headers.addCustom("Sec-WebSocket-Accept", encoded[0..]);
const accept_key = base64.encode(&encoded, &digest);
try f.headers.addCustom("Sec-WebSocket-Accept", accept_key);
try f.sendHeaders();
try f.sendRawSlice("\r\n");
}
@@ -199,7 +201,7 @@ test Message {
}
}
pub const Opcode = enum(u4) {
const Opcode = enum(u4) {
continuation = 0,
text = 1,
binary = 2,