complete websocket handler