# HG changeset patch # User Kim Alvefur # Date 1458824278 -3600 # Node ID 62d5335353344dbf98f7aa74212d6ede5b9b3183 # Parent 316ca5c1525500b46bbbec80a9b134ee6cacedc5# Parent 4fd984d1e445d333f2f281ca30618be87ba58233 Merge 0.10->trunk diff -r 316ca5c15255 -r 62d533535334 plugins/mod_websocket.lua --- a/plugins/mod_websocket.lua Wed Mar 23 12:19:23 2016 +0000 +++ b/plugins/mod_websocket.lua Thu Mar 24 13:57:58 2016 +0100 @@ -226,8 +226,7 @@ frame.opcode = 0xA; conn:write(build_frame(frame)); return ""; - elseif opcode == 0xA then -- Pong frame - module:log("warn", "Received unexpected pong frame: " .. tostring(frame.data)); + elseif opcode == 0xA then -- Pong frame, MAY be sent unsolicited, eg as keepalive return ""; else log("warn", "Received frame with unsupported opcode %i", opcode); @@ -291,6 +290,12 @@ return ""; end +local function keepalive(event) + return conn:write(build_frame({ opcode = 0x9, })); +end + +module:hook("c2s-read-timeout", keepalive, -0.9); + function module.add_host(module) module:depends("http"); module:provides("http", { @@ -301,4 +306,5 @@ ["GET /"] = handle_request; }; }); + module:hook("c2s-read-timeout", keepalive, -0.9); end