Mercurial > prosody-modules
diff mod_stanza_counter/mod_stanza_counter.lua @ 436:e4a1f0425380
mod_stanza_counter: splitted plugin :/
author | Marco Cirillo <maranda@lightwitch.org> |
---|---|
date | Tue, 20 Sep 2011 23:16:32 +0000 |
parents | b6abe463b4fc |
children | 3d6e0e037dab |
line wrap: on
line diff
--- a/mod_stanza_counter/mod_stanza_counter.lua Tue Sep 20 22:42:03 2011 +0000 +++ b/mod_stanza_counter/mod_stanza_counter.lua Tue Sep 20 23:16:32 2011 +0000 @@ -1,40 +1,7 @@ -- (C) 2011, Marco Cirillo (LW.Org) --- General Stanzas' Counter with web output. +-- General Stanzas' Counter. local jid_bare = require "util.jid".bare -local httpserver = require "net.httpserver" - -local ports = module:get_option_array("stanza_counter_ports" or {{ port = 5280 }}) - --- http handlers - -local r_200 = "\n<html>\n<head>\n<title>Prosody's Stanza Counter</title>\n<meta name=\"robots\" content=\"noindex, nofollow\" />\n</head>\n\n<body>\n<h3>Incoming and Outgoing stanzas divided per type</h3>\n<p><strong>Incoming IQs</strong>: %d<br/>\n<strong>Outgoing IQs</strong>: %d<br/>\n<strong>Incoming Messages</strong>: %d<br/>\n<strong>Outgoing Messages</strong>: %d<br/>\n<strong>Incoming Presences</strong>: %d<br/>\n<strong>Outgoing Presences</strong>: %d<p>\n</body>\n\n</html>\n" - -local r_405 = "\n<html>\n<head>\n<title>Prosody's Stanza Counter - Error</title>\n<meta name=\"robots\" content=\"noindex, nofollow\" />\n</head>\n\n<body>\n<h3>Bad Method ... I only support GET.</h3>\n</body>\n\n</html>\n" - -local function res(code, r, h) - local response = { - status = code; - body = r; - } - - if h then response.headers = h; end - return response -end - -local function req(method, body, request) - if method == "GET" then - local forge_res = r_200:format(prosody.stanza_counter.iq["incoming"], - prosody.stanza_counter.iq["outgoing"], - prosody.stanza_counter.message["incoming"], - prosody.stanza_counter.message["outgoing"], - prosody.stanza_counter.presence["incoming"], - prosody.stanza_counter.presence["outgoing"]); - return res(200, forge_res) - else - return res(405, r_405, {["Allow"] = "GET"}) - end -end -- Setup, Init functions. -- initialize function counter table on the global object on start @@ -46,14 +13,9 @@ } end --- init http interface -local function init_web() - httpserver.new_from_config(ports, req, { base = "stanza-counter" }) -end - -- Setup on server start local function setup() - init_counter(); init_web(); + init_counter(); end -- Basic Stanzas' Counters @@ -132,3 +94,4 @@ -- Hook server start to initialize the counter. module:hook("server-started", setup) +