Diff

mod_rest/mod_rest.lua @ 3866:c0df50ce96f0

mod_rest: Handle internal http request errors early and then return Skips over attempted parsing of the payload which usually failed since the body is an error string like "connection refused", so this produced useless errors.
author Kim Alvefur <zash@zash.se>
date Sat, 25 Jan 2020 20:22:12 +0100
parent 3865:a44e20cbd986
child 3867:839224be5299
line wrap: on
line diff
--- a/mod_rest/mod_rest.lua	Sat Jan 25 20:16:01 2020 +0100
+++ b/mod_rest/mod_rest.lua	Sat Jan 25 20:22:12 2020 +0100
@@ -224,6 +224,8 @@
 			}, function (body, code, response)
 				if code == 0 then
 					module:log_status("error", "Could not connect to callback URL %q: %s", rest_url, body);
+					origin.send(st.error_reply(stanza, "wait", "recipient-unavailable", body));
+					return;
 				else
 					module:set_status("info", "Connected");
 				end
@@ -275,8 +277,6 @@
 						reply = st.error_reply(stanza, "modify", "bad-request", body);
 					elseif code_hundreds == 500 then
 						reply = st.error_reply(stanza, "cancel", "internal-server-error", body);
-					elseif code == 0 then
-						reply = st.error_reply(stanza, "wait", "recipient-unavailable", body);
 					else
 						reply = st.error_reply(stanza, "cancel", "undefined-condition", body);
 					end