1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| diff -r 9700c89f7bf6 mod_post_msg/mod_post_msg.lua
--- a/mod_post_msg/mod_post_msg.lua Thu Jan 23 20:27:14 2014 +0000
+++ b/mod_post_msg/mod_post_msg.lua Fri Feb 14 15:01:08 2014 +0100
@@ -6,6 +6,7 @@
local test_password = require "core.usermanager".test_password;
local b64_decode = require "util.encodings".base64.decode;
local formdecode = require "net.http".formdecode;
+local xml = require"util.xml"
local function require_valid_user(f)
return function(event, path)
@@ -46,8 +48,16 @@
end
elseif body_type == "application/x-www-form-urlencoded" then
local post_body = formdecode(request.body);
- message = msg({ to = post_body.to or to, from = authed_user,
+ message = msg({ to = post_body.to or to, from = authed_user,
type = post_body.type or "chat"}, post_body.body);
+ if post_body.html then
+ local html, err = xml.parse(post_body.html);
+ if not html then
+ module:log("warn", "mod_post_msg: invalid XML: %s", err);
+ return 400;
+ end
+ message:tag("html", {xmlns="http://jabber.org/protocol/xhtml-im"}):add_child(html):up();
+ end
else
return 415;
end
|