diff options
author | Kim Alvefur <zash@zash.se> | 2016-03-24 13:57:58 +0100 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2016-03-24 13:57:58 +0100 |
commit | 4ca8e2aaed9b4e58ee1a9b67bb8a6d9f99e51632 (patch) | |
tree | d6ebdfc4aefc67d749aa7322ce910b83c4119f47 | |
parent | 5aed00374715e5ca0149888dcd0df88291015809 (diff) | |
parent | 41522cb84acb3639a8cdd494a4a6b1da04121318 (diff) | |
download | prosody-4ca8e2aaed9b4e58ee1a9b67bb8a6d9f99e51632.tar.gz prosody-4ca8e2aaed9b4e58ee1a9b67bb8a6d9f99e51632.zip |
Merge 0.10->trunk
-rw-r--r-- | plugins/mod_websocket.lua | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/plugins/mod_websocket.lua b/plugins/mod_websocket.lua index 274e587a..086eab62 100644 --- a/plugins/mod_websocket.lua +++ b/plugins/mod_websocket.lua @@ -226,8 +226,7 @@ function handle_request(event) 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 @@ function handle_request(event) 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 @@ function module.add_host(module) ["GET /"] = handle_request; }; }); + module:hook("c2s-read-timeout", keepalive, -0.9); end |