Improve WebSocket handshake reading
- Fix WebSocket handshake response reading to wait for complete headers - Increase buffer size for handshake response - Add proper HTTP header completion detection - Server still reports handshake issues but CLI connection improved Status: Partial WebSocket implementation, needs further debugging
This commit is contained in:
parent
7125dc3ab8
commit
4ca747bae3
1 changed files with 16 additions and 3 deletions
|
|
@ -138,9 +138,22 @@ pub const Client = struct {
|
|||
|
||||
_ = try stream.write(request);
|
||||
|
||||
// Read response
|
||||
var response_buf: [1024]u8 = undefined;
|
||||
const bytes_read = try stream.read(&response_buf);
|
||||
// Read response until complete
|
||||
var response_buf: [4096]u8 = undefined;
|
||||
var bytes_read: usize = 0;
|
||||
var header_complete = false;
|
||||
|
||||
while (!header_complete and bytes_read < response_buf.len - 1) {
|
||||
const chunk_bytes = try stream.read(response_buf[bytes_read..]);
|
||||
if (chunk_bytes == 0) break;
|
||||
bytes_read += chunk_bytes;
|
||||
|
||||
// Check if we have complete HTTP headers (\r\n\r\n)
|
||||
if (std.mem.indexOf(u8, response_buf[0..bytes_read], "\r\n\r\n") != null) {
|
||||
header_complete = true;
|
||||
}
|
||||
}
|
||||
|
||||
const response = response_buf[0..bytes_read];
|
||||
|
||||
// Check for successful handshake
|
||||
|
|
|
|||
Loading…
Reference in a new issue