Software /
code /
prosody
File
plugins/mod_ping.lua @ 9512:439cf3bbe5f3
util.promise: Also support automatic resolution by returning a promise from an on_reject handler
Originally unimplemented because it wasn't clear to me what the correct behaviour was, but the A+
spec is clear that both onFulfilled and onRejected may return a promise.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 18 Oct 2018 12:11:50 +0100 |
parent | 8963:ff522d5db95d |
child | 9572:867e40b82409 |
line wrap: on
line source
-- Prosody IM -- Copyright (C) 2008-2010 Matthew Wild -- Copyright (C) 2008-2010 Waqas Hussain -- -- This project is MIT/X11 licensed. Please see the -- COPYING file in the source package for more information. -- local st = require "util.stanza"; module:add_feature("urn:xmpp:ping"); local function ping_handler(event) return event.origin.send(st.reply(event.stanza)); end module:hook("iq-get/bare/urn:xmpp:ping:ping", ping_handler); module:hook("iq-get/host/urn:xmpp:ping:ping", ping_handler); -- Ad-hoc command local datetime = require "util.datetime".datetime; function ping_command_handler (self, data, state) -- luacheck: ignore 212 local now = datetime(); return { info = "Pong\n"..now, status = "completed" }; end module:depends "adhoc"; local adhoc_new = module:require "adhoc".new; local descriptor = adhoc_new("Ping", "ping", ping_command_handler); module:add_item ("adhoc", descriptor);