Software /
code /
prosody
Annotate
plugins/mod_ping.lua @ 5877:615a0774e4cc
util.timer: Updated to use util.indexedbheap to provide a more complete API. Timers can now be stopped or rescheduled. Callbacks are now pcall'd. Adding/removing timers from within timer callbacks works better. Optional parameter can be passed when creating timer which gets passed to callback, eliminating the need for closures in various timer uses. Timers are now much more lightweight.
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Wed, 30 Oct 2013 17:44:42 -0400 |
parent | 5776:bd0ff8ae98a8 |
child | 6012:7e8a624272bf |
rev | line source |
---|---|
1523
841d61be198f
Remove version number from copyright headers
Matthew Wild <mwild1@gmail.com>
parents:
1511
diff
changeset
|
1 -- Prosody IM |
2923
b7049746bd29
Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents:
2011
diff
changeset
|
2 -- Copyright (C) 2008-2010 Matthew Wild |
b7049746bd29
Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents:
2011
diff
changeset
|
3 -- Copyright (C) 2008-2010 Waqas Hussain |
5776
bd0ff8ae98a8
Remove all trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents:
4129
diff
changeset
|
4 -- |
758 | 5 -- This project is MIT/X11 licensed. Please see the |
6 -- COPYING file in the source package for more information. | |
519
cccd610a0ef9
Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents:
438
diff
changeset
|
7 -- |
cccd610a0ef9
Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents:
438
diff
changeset
|
8 |
1511
f9f8b7184cbe
mod_ping: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
896
diff
changeset
|
9 local st = require "util.stanza"; |
f9f8b7184cbe
mod_ping: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
896
diff
changeset
|
10 |
f9f8b7184cbe
mod_ping: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
896
diff
changeset
|
11 module:add_feature("urn:xmpp:ping"); |
f9f8b7184cbe
mod_ping: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
896
diff
changeset
|
12 |
2011
8159497c86e3
mod_ping: Updated to use events (which also fixes a few minor issues).
Waqas Hussain <waqas20@gmail.com>
parents:
1523
diff
changeset
|
13 local function ping_handler(event) |
8159497c86e3
mod_ping: Updated to use events (which also fixes a few minor issues).
Waqas Hussain <waqas20@gmail.com>
parents:
1523
diff
changeset
|
14 if event.stanza.attr.type == "get" then |
8159497c86e3
mod_ping: Updated to use events (which also fixes a few minor issues).
Waqas Hussain <waqas20@gmail.com>
parents:
1523
diff
changeset
|
15 event.origin.send(st.reply(event.stanza)); |
8159497c86e3
mod_ping: Updated to use events (which also fixes a few minor issues).
Waqas Hussain <waqas20@gmail.com>
parents:
1523
diff
changeset
|
16 return true; |
8159497c86e3
mod_ping: Updated to use events (which also fixes a few minor issues).
Waqas Hussain <waqas20@gmail.com>
parents:
1523
diff
changeset
|
17 end |
8159497c86e3
mod_ping: Updated to use events (which also fixes a few minor issues).
Waqas Hussain <waqas20@gmail.com>
parents:
1523
diff
changeset
|
18 end |
8159497c86e3
mod_ping: Updated to use events (which also fixes a few minor issues).
Waqas Hussain <waqas20@gmail.com>
parents:
1523
diff
changeset
|
19 |
8159497c86e3
mod_ping: Updated to use events (which also fixes a few minor issues).
Waqas Hussain <waqas20@gmail.com>
parents:
1523
diff
changeset
|
20 module:hook("iq/bare/urn:xmpp:ping:ping", ping_handler); |
8159497c86e3
mod_ping: Updated to use events (which also fixes a few minor issues).
Waqas Hussain <waqas20@gmail.com>
parents:
1523
diff
changeset
|
21 module:hook("iq/host/urn:xmpp:ping:ping", ping_handler); |
3486
8a46bb70016f
mod_ping: Add ad-hoc command
Florian Zeitz <florob@babelmonkeys.de>
parents:
2923
diff
changeset
|
22 |
8a46bb70016f
mod_ping: Add ad-hoc command
Florian Zeitz <florob@babelmonkeys.de>
parents:
2923
diff
changeset
|
23 -- Ad-hoc command |
8a46bb70016f
mod_ping: Add ad-hoc command
Florian Zeitz <florob@babelmonkeys.de>
parents:
2923
diff
changeset
|
24 |
4129
c86b68abe12e
mod_ping: Use util.datetime to generate timestamp in ad-hoc command response (instead of the current use of os.date, which doesn't take timezone into account).
Waqas Hussain <waqas20@gmail.com>
parents:
3486
diff
changeset
|
25 local datetime = require "util.datetime".datetime; |
c86b68abe12e
mod_ping: Use util.datetime to generate timestamp in ad-hoc command response (instead of the current use of os.date, which doesn't take timezone into account).
Waqas Hussain <waqas20@gmail.com>
parents:
3486
diff
changeset
|
26 |
3486
8a46bb70016f
mod_ping: Add ad-hoc command
Florian Zeitz <florob@babelmonkeys.de>
parents:
2923
diff
changeset
|
27 function ping_command_handler (self, data, state) |
4129
c86b68abe12e
mod_ping: Use util.datetime to generate timestamp in ad-hoc command response (instead of the current use of os.date, which doesn't take timezone into account).
Waqas Hussain <waqas20@gmail.com>
parents:
3486
diff
changeset
|
28 local now = datetime(); |
3486
8a46bb70016f
mod_ping: Add ad-hoc command
Florian Zeitz <florob@babelmonkeys.de>
parents:
2923
diff
changeset
|
29 return { info = "Pong\n"..now, status = "completed" }; |
8a46bb70016f
mod_ping: Add ad-hoc command
Florian Zeitz <florob@babelmonkeys.de>
parents:
2923
diff
changeset
|
30 end |
8a46bb70016f
mod_ping: Add ad-hoc command
Florian Zeitz <florob@babelmonkeys.de>
parents:
2923
diff
changeset
|
31 |
8a46bb70016f
mod_ping: Add ad-hoc command
Florian Zeitz <florob@babelmonkeys.de>
parents:
2923
diff
changeset
|
32 local adhoc_new = module:require "adhoc".new; |
8a46bb70016f
mod_ping: Add ad-hoc command
Florian Zeitz <florob@babelmonkeys.de>
parents:
2923
diff
changeset
|
33 local descriptor = adhoc_new("Ping", "ping", ping_command_handler); |
8a46bb70016f
mod_ping: Add ad-hoc command
Florian Zeitz <florob@babelmonkeys.de>
parents:
2923
diff
changeset
|
34 module:add_item ("adhoc", descriptor); |
8a46bb70016f
mod_ping: Add ad-hoc command
Florian Zeitz <florob@babelmonkeys.de>
parents:
2923
diff
changeset
|
35 |