]> git.proxmox.com Git - pve-http-server.git/blobdiff - PVE/APIServer/AnyEvent.pm
websocket_proxy: implement ping/pong support
[pve-http-server.git] / PVE / APIServer / AnyEvent.pm
index 666210d08cd955ae89b583d7ad5660af67a04a8f..90f51e890f99c90d20c944b2a91e0b6f85ade999 100644 (file)
@@ -511,6 +511,11 @@ sub websocket_proxy {
                                $reqstate->{proxyhdl}->push_shutdown();
                    }
                        $hdl->push_shutdown();
+                   } elsif ($opcode == 9) {
+                       # ping received, schedule pong
+                       $reqstate->{hdl}->push_write($encode->(\$payload, "\x8A")) if $reqstate->{hdl};
+                   } elsif ($opcode == 0xA) {
+                       # pong received, continue
                    } else {
                        die "received unhandled websocket opcode $opcode\n";
                    }