Mercurial > prosody-modules
comparison mod_websocket/mod_websocket.lua @ 691:04662cc35280
mod_websocket: Answer ping frames
| author | Florian Zeitz <florob@babelmonkeys.de> |
|---|---|
| date | Sun, 27 May 2012 19:30:37 +0200 |
| parents | 5acc203972f3 |
| children | 2de21fa40382 |
comparison
equal
deleted
inserted
replaced
| 690:5acc203972f3 | 691:04662cc35280 |
|---|---|
| 260 local buffer = ""; | 260 local buffer = ""; |
| 261 function session.data(data) | 261 function session.data(data) |
| 262 local frame = parse_frame(data); | 262 local frame = parse_frame(data); |
| 263 | 263 |
| 264 module:log("debug", "Websocket received: %s (%i bytes)", frame.data, #frame.data); | 264 module:log("debug", "Websocket received: %s (%i bytes)", frame.data, #frame.data); |
| 265 if frame.opcode == 0x00 or frame.opcode == 0x01 then -- Text or continuation frame | 265 if frame.opcode == 0x0 or frame.opcode == 0x1 then -- Text or continuation frame |
| 266 buffer = buffer .. frame.data; | 266 buffer = buffer .. frame.data; |
| 267 elseif frame.opcode == 0x9 then -- Ping frame | |
| 268 frame.opcode = 0xA; | |
| 269 conn:write(build_frame(frame)); | |
| 270 return; | |
| 267 else | 271 else |
| 268 log("warn", "Received frame with unsupported opcode %i", frame.opcode); | 272 log("warn", "Received frame with unsupported opcode %i", frame.opcode); |
| 269 return; | 273 return; |
| 270 end | 274 end |
| 271 | 275 |
