diff options
| author | Kuwazy <70151472+Marzin-bot@users.noreply.github.com> | 2025-03-25 15:00:50 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-25 15:00:50 +0100 |
| commit | 6b6dc1cd3ac2690490628e0fee276e143e431b39 (patch) | |
| tree | 1c52f566d3d570046c487fa8b3372115138ef9ce /lib/std/http/WebSocket.zig | |
| parent | e1c6af2840edc723db8f89522850b6f882f8234f (diff) | |
| download | zig-6b6dc1cd3ac2690490628e0fee276e143e431b39.tar.gz zig-6b6dc1cd3ac2690490628e0fee276e143e431b39.zip | |
Added check for HTTP version and GET method when upgrading WebSocket to comply with RFC 6455. (#23332)
Diffstat (limited to 'lib/std/http/WebSocket.zig')
| -rw-r--r-- | lib/std/http/WebSocket.zig | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/std/http/WebSocket.zig b/lib/std/http/WebSocket.zig index 08bc420b67..8ab434ceae 100644 --- a/lib/std/http/WebSocket.zig +++ b/lib/std/http/WebSocket.zig @@ -23,6 +23,11 @@ pub fn init( send_buffer: []u8, recv_buffer: []align(4) u8, ) InitError!bool { + switch (request.head.version) { + .@"HTTP/1.0" => return false, + .@"HTTP/1.1" => if (request.head.method != .GET) return false, + } + var sec_websocket_key: ?[]const u8 = null; var upgrade_websocket: bool = false; var it = request.iterateHeaders(); |
