Software /
code /
prosody-modules
File
mod_admin_probe/mod_admin_probe.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 | 1281:f78661861e98 |
line wrap: on
line source
-- Prosody IM -- Copyright (C) 2014 Florian Zeitz -- -- This project is MIT/X11 licensed. Please see the -- COPYING file in the source package for more information. -- local presence = module:depends("presence"); local send_presence_of_available_resources = presence.send_presence_of_available_resources; local hosts = prosody.hosts; local core_post_stanza = prosody.core_post_stanza; local st = require "util.stanza"; local is_admin = require "core.usermanager".is_admin; local jid_split = require "util.jid".split; module:hook("presence/bare", function(data) local origin, stanza = data.origin, data.stanza; local to, from, type = stanza.attr.to, stanza.attr.from, stanza.attr.type; local node, host = jid_split(to); if type ~= "probe" then return; end if not is_admin(from, module.host) then return; end if 0 == send_presence_of_available_resources(node, host, from, origin) then core_post_stanza(hosts[host], st.presence({from=to, to=from, type="unavailable"}), true); end return true; end, 10);