Software /
code /
prosody
Comparison
plugins/mod_compression.lua @ 6057:a3d7b8f4d9c7
mod_compression: Use get_child() and get_child_text()
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 03 Apr 2014 23:40:20 +0200 |
parent | 6056:29cbbe882441 |
child | 6058:1607b03356ed |
comparison
equal
deleted
inserted
replaced
6056:29cbbe882441 | 6057:a3d7b8f4d9c7 |
---|---|
43 -- Hook to activate compression if remote server supports it. | 43 -- Hook to activate compression if remote server supports it. |
44 module:hook_stanza(xmlns_stream, "features", | 44 module:hook_stanza(xmlns_stream, "features", |
45 function (session, stanza) | 45 function (session, stanza) |
46 if not session.compressed and session.type == "s2sout" then | 46 if not session.compressed and session.type == "s2sout" then |
47 -- does remote server support compression? | 47 -- does remote server support compression? |
48 local comp_st = stanza:child_with_name("compression"); | 48 local comp_st = stanza:get_child("compression", xmlns_compression_feature); |
49 if comp_st then | 49 if comp_st then |
50 -- do we support the mechanism | 50 -- do we support the mechanism |
51 for a in comp_st:children() do | 51 for a in comp_st:children() do |
52 local algorithm = a[1] | 52 local algorithm = a[1] |
53 if algorithm == "zlib" then | 53 if algorithm == "zlib" then |
158 session.log("debug", "Client tried to establish another compression layer."); | 158 session.log("debug", "Client tried to establish another compression layer."); |
159 return true; | 159 return true; |
160 end | 160 end |
161 | 161 |
162 -- checking if the compression method is supported | 162 -- checking if the compression method is supported |
163 local method = stanza:child_with_name("method"); | 163 local method = stanza:get_child_text("method"); |
164 method = method and (method[1] or ""); | |
165 if method == "zlib" then | 164 if method == "zlib" then |
166 session.log("debug", "zlib compression enabled."); | 165 session.log("debug", "zlib compression enabled."); |
167 | 166 |
168 -- create deflate and inflate streams | 167 -- create deflate and inflate streams |
169 local deflate_stream = get_deflate_stream(session); | 168 local deflate_stream = get_deflate_stream(session); |