Software /
code /
prosody-modules
Comparison
mod_rest/mod_rest.lua @ 4242:6a91d217acc9
mod_rest: Add whitespace to improve readability, code navigation
I use {} in vim a lot.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 12 Nov 2020 20:37:54 +0100 |
parent | 4066:07ae583bc565 |
child | 4244:07c11080027e |
comparison
equal
deleted
inserted
replaced
4241:5e8b54deeb30 | 4242:6a91d217acc9 |
---|---|
184 if err == "unknown-payload-type" then | 184 if err == "unknown-payload-type" then |
185 return errors.new("mediatype", ctx, post_errors); | 185 return errors.new("mediatype", ctx, post_errors); |
186 end | 186 end |
187 return errors.new("parse", ctx, post_errors); | 187 return errors.new("parse", ctx, post_errors); |
188 end | 188 end |
189 | |
189 if payload.attr.xmlns then | 190 if payload.attr.xmlns then |
190 return errors.new("xmlns", nil, post_errors); | 191 return errors.new("xmlns", nil, post_errors); |
191 elseif payload.name ~= "message" and payload.name ~= "presence" and payload.name ~= "iq" then | 192 elseif payload.name ~= "message" and payload.name ~= "presence" and payload.name ~= "iq" then |
192 return errors.new("name", nil, post_errors); | 193 return errors.new("name", nil, post_errors); |
193 end | 194 end |
195 | |
194 local to = jid.prep(payload.attr.to); | 196 local to = jid.prep(payload.attr.to); |
195 if not to then | 197 if not to then |
196 return errors.new("to", nil, post_errors); | 198 return errors.new("to", nil, post_errors); |
197 end | 199 end |
200 | |
198 if payload.attr.from then | 201 if payload.attr.from then |
199 local requested_from = jid.prep(payload.attr.from); | 202 local requested_from = jid.prep(payload.attr.from); |
200 if not requested_from then | 203 if not requested_from then |
201 return errors.new("from", nil, post_errors); | 204 return errors.new("from", nil, post_errors); |
202 end | 205 end |
204 from = requested_from; | 207 from = requested_from; |
205 else | 208 else |
206 return errors.new("from_auth", nil, post_errors); | 209 return errors.new("from_auth", nil, post_errors); |
207 end | 210 end |
208 end | 211 end |
212 | |
209 payload.attr = { | 213 payload.attr = { |
210 from = from, | 214 from = from, |
211 to = to, | 215 to = to, |
212 id = payload.attr.id or id.medium(), | 216 id = payload.attr.id or id.medium(), |
213 type = payload.attr.type, | 217 type = payload.attr.type, |
214 ["xml:lang"] = payload.attr["xml:lang"], | 218 ["xml:lang"] = payload.attr["xml:lang"], |
215 }; | 219 }; |
220 | |
216 module:log("debug", "Received[rest]: %s", payload:top_tag()); | 221 module:log("debug", "Received[rest]: %s", payload:top_tag()); |
217 local send_type = decide_type((request.headers.accept or "") ..",".. request.headers.content_type, supported_outputs) | 222 local send_type = decide_type((request.headers.accept or "") ..",".. request.headers.content_type, supported_outputs) |
218 if payload.name == "iq" then | 223 if payload.name == "iq" then |
219 function origin.send(stanza) | 224 function origin.send(stanza) |
220 module:send(stanza); | 225 module:send(stanza); |
221 end | 226 end |
227 | |
222 if payload.attr.type ~= "get" and payload.attr.type ~= "set" then | 228 if payload.attr.type ~= "get" and payload.attr.type ~= "set" then |
223 return errors.new("iq_type", nil, post_errors); | 229 return errors.new("iq_type", nil, post_errors); |
224 elseif #payload.tags ~= 1 then | 230 elseif #payload.tags ~= 1 then |
225 return errors.new("iq_tags", nil, post_errors); | 231 return errors.new("iq_tags", nil, post_errors); |
226 end | 232 end |
233 | |
227 return module:send_iq(payload, origin):next( | 234 return module:send_iq(payload, origin):next( |
228 function (result) | 235 function (result) |
229 module:log("debug", "Sending[rest]: %s", result.stanza:top_tag()); | 236 module:log("debug", "Sending[rest]: %s", result.stanza:top_tag()); |
230 response.headers.content_type = send_type; | 237 response.headers.content_type = send_type; |
231 return encode(send_type, result.stanza); | 238 return encode(send_type, result.stanza); |
247 module:log("debug", "Sending[rest]: %s", stanza:top_tag()); | 254 module:log("debug", "Sending[rest]: %s", stanza:top_tag()); |
248 response.headers.content_type = send_type; | 255 response.headers.content_type = send_type; |
249 response:send(encode(send_type, stanza)); | 256 response:send(encode(send_type, stanza)); |
250 return true; | 257 return true; |
251 end | 258 end |
259 | |
252 module:send(payload, origin); | 260 module:send(payload, origin); |
253 return 202; | 261 return 202; |
254 end | 262 end |
255 end | 263 end |
256 | 264 |