plugins/mod_ping.lua
author Kim Alvefur <zash@zash.se>
Mon, 29 Apr 2013 13:59:39 +0200
changeset 5545 d22416f8a836
parent 4129 c86b68abe12e
child 5776 bd0ff8ae98a8
permissions -rw-r--r--
prosodyctl: Add message describing the distinguished name input expected
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
519
cccd610a0ef9 Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents: 438
diff changeset
     4
-- 
758
b1885732e979 GPL->MIT!
Matthew Wild <mwild1@gmail.com>
parents: 615
diff changeset
     5
-- This project is MIT/X11 licensed. Please see the
b1885732e979 GPL->MIT!
Matthew Wild <mwild1@gmail.com>
parents: 615
diff changeset
     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