equal
deleted
inserted
replaced
96 -- setup compression for a stream |
96 -- setup compression for a stream |
97 local function setup_compression(session, deflate_stream) |
97 local function setup_compression(session, deflate_stream) |
98 add_filter(session, "bytes/out", function(t) |
98 add_filter(session, "bytes/out", function(t) |
99 local status, compressed, eof = pcall(deflate_stream, tostring(t), 'sync'); |
99 local status, compressed, eof = pcall(deflate_stream, tostring(t), 'sync'); |
100 if status == false then |
100 if status == false then |
|
101 module:log("warn", "%s", tostring(compressed)); |
101 session:close({ |
102 session:close({ |
102 condition = "undefined-condition"; |
103 condition = "undefined-condition"; |
103 text = compressed; |
104 text = compressed; |
104 extra = st.stanza("failure", {xmlns="http://jabber.org/protocol/compress"}):tag("processing-failed"); |
105 extra = st.stanza("failure", {xmlns="http://jabber.org/protocol/compress"}):tag("processing-failed"); |
105 }); |
106 }); |
106 module:log("warn", "%s", tostring(compressed)); |
|
107 return; |
107 return; |
108 end |
108 end |
109 return compressed; |
109 return compressed; |
110 end); |
110 end); |
111 end |
111 end |
113 -- setup decompression for a stream |
113 -- setup decompression for a stream |
114 local function setup_decompression(session, inflate_stream) |
114 local function setup_decompression(session, inflate_stream) |
115 add_filter(session, "bytes/in", function(data) |
115 add_filter(session, "bytes/in", function(data) |
116 local status, decompressed, eof = pcall(inflate_stream, data); |
116 local status, decompressed, eof = pcall(inflate_stream, data); |
117 if status == false then |
117 if status == false then |
|
118 module:log("warn", "%s", tostring(decompressed)); |
118 session:close({ |
119 session:close({ |
119 condition = "undefined-condition"; |
120 condition = "undefined-condition"; |
120 text = decompressed; |
121 text = decompressed; |
121 extra = st.stanza("failure", {xmlns="http://jabber.org/protocol/compress"}):tag("processing-failed"); |
122 extra = st.stanza("failure", {xmlns="http://jabber.org/protocol/compress"}):tag("processing-failed"); |
122 }); |
123 }); |
123 module:log("warn", "%s", tostring(decompressed)); |
|
124 return; |
124 return; |
125 end |
125 end |
126 return decompressed; |
126 return decompressed; |
127 end); |
127 end); |
128 end |
128 end |