Mercurial > prosody-modules
diff mod_websocket/mod_websocket.lua @ 1193:bbe278a56b0a
mod_websocket: Add consider_websocket_secure option
author | Florian Zeitz <florob@babelmonkeys.de> |
---|---|
date | Wed, 18 Sep 2013 00:57:06 +0200 |
parents | 9d85aded2fb6 |
children | 717a08403b26 |
line wrap: on
line diff
--- a/mod_websocket/mod_websocket.lua Tue Sep 17 16:02:33 2013 +0200 +++ b/mod_websocket/mod_websocket.lua Wed Sep 18 00:57:06 2013 +0200 @@ -25,6 +25,7 @@ local s_byte = string.byte; local s_char= string.char; +local consider_websocket_secure = module:get_option_boolean("consider_websocket_secure"); local cross_domain = module:get_option("cross_domain_websocket"); if cross_domain then if cross_domain == true then @@ -240,8 +241,12 @@ conn:setlistener(c2s_listener); c2s_listener.onconnect(conn); + local session = sessions[conn]; + + session.secure = consider_websocket_secure or session.secure; + local frameBuffer = ""; - add_filter(sessions[conn], "bytes/in", function(data) + add_filter(session, "bytes/in", function(data) local cache = {}; frameBuffer = frameBuffer .. data; local frame, length = parse_frame(frameBuffer); @@ -256,7 +261,7 @@ return t_concat(cache, ""); end); - add_filter(sessions[conn], "bytes/out", function(data) + add_filter(session, "bytes/out", function(data) return build_frame({ FIN = true, opcode = 0x01, data = tostring(data)}); end);