plugins/mod_xmlrpc.lua

changeset 877
0bababc930dd
parent 875
e73b6ef579c7
child 880
ff4a08d73772
equal deleted inserted replaced
876:fad020cead52 877:0bababc930dd
79 return create_error_response(500, "Error in creating response: "..result); 79 return create_error_response(500, "Error in creating response: "..result);
80 end 80 end
81 return create_error_response(0, result or "nil"); 81 return create_error_response(0, result or "nil");
82 end 82 end
83 83
84 --[[local function handle_xmpp_request(origin, stanza) 84 local function handle_xmpp_request(origin, stanza)
85 local query = stanza.tags[1]; 85 local query = stanza.tags[1];
86 if query.name == "query" then 86 if query.name == "query" then
87 if #query.tags == 1 then 87 if #query.tags == 1 then
88 local success, method, args = pcall(translate_request, query.tags[1]); 88 local success, method, args = pcall(translate_request, query.tags[1]);
89 if success then 89 if success then
97 end 97 end
98 else 98 else
99 origin.send(st.error_reply(stanza, "cancel", "service-unavailable")); 99 origin.send(st.error_reply(stanza, "cancel", "service-unavailable"));
100 end 100 end
101 end 101 end
102 module:add_iq_handler({"c2s", "s2sin"}, "jabber:iq:rpc", handle_xmpp_request);]] 102 module:add_iq_handler({"c2s", "s2sin"}, "jabber:iq:rpc", handle_xmpp_request);
103 module:add_feature("jabber:iq:rpc");
103 104
104 local function handle_http_request(method, body, request) 105 local function handle_http_request(method, body, request)
105 local stanza = body and parse_xml(body); 106 local stanza = body and parse_xml(body);
106 if (not stanza) or request.method ~= "POST" then 107 if (not stanza) or request.method ~= "POST" then
107 return "<html><body>You really don't look like an XML-RPC client to me... what do you want?</body></html>"; 108 return "<html><body>You really don't look like an XML-RPC client to me... what do you want?</body></html>";

mercurial