Mercurial > prosody-modules
comparison mod_candy/mod_candy.lua @ 2449:c9372cfac3b7
mod_candy: Break out connect path into a function
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Fri, 20 Jan 2017 01:09:36 +0100 |
| parents | 7814a5c7fee8 |
| children | 36ffe9d11132 |
comparison
equal
deleted
inserted
replaced
| 2448:1f7f66272f73 | 2449:c9372cfac3b7 |
|---|---|
| 4 local json_encode = require"util.json".encode; | 4 local json_encode = require"util.json".encode; |
| 5 local is_module_loaded = require "core.modulemanager".is_loaded; | 5 local is_module_loaded = require "core.modulemanager".is_loaded; |
| 6 | 6 |
| 7 local serve = module:depends"http_files".serve; | 7 local serve = module:depends"http_files".serve; |
| 8 | 8 |
| 9 local function get_connect_path() | |
| 10 if is_module_loaded(module.host, "websocket") then | |
| 11 return module:http_url("websocket", "xmpp-websocket"):gsub("^http", "ws"); | |
| 12 end | |
| 13 if not is_module_loaded(module.host, "bosh") then | |
| 14 module:depends("bosh"); | |
| 15 end | |
| 16 return module:http_url("bosh", "/http-bind"); | |
| 17 end | |
| 18 | |
| 9 module:provides("http", { | 19 module:provides("http", { |
| 10 route = { | 20 route = { |
| 11 ["GET /prosody.js"] = function(event) | 21 ["GET /prosody.js"] = function(event) |
| 12 event.response.headers.content_type = "text/javascript"; | 22 event.response.headers.content_type = "text/javascript"; |
| 13 local connect_path; | |
| 14 if is_module_loaded(module.host, "websocket") then | |
| 15 connect_path = module:http_url("websocket", "xmpp-websocket"):gsub("^http", "ws"); | |
| 16 else | |
| 17 if not is_module_loaded(module.host, "bosh") then | |
| 18 module:depends("bosh"); | |
| 19 end | |
| 20 connect_path = module:http_url("bosh", "/http-bind"); | |
| 21 end | |
| 22 | 23 |
| 23 return ("// Generated by Prosody\n" | 24 return ("// Generated by Prosody\n" |
| 24 .."var Prosody = %s;\n") | 25 .."var Prosody = %s;\n") |
| 25 :format(json_encode({ | 26 :format(json_encode({ |
| 26 connect_path = connect_path; | 27 connect_path = get_connect_path(); |
| 27 version = prosody.version; | 28 version = prosody.version; |
| 28 host = module:get_host(); | 29 host = module:get_host(); |
| 29 anonymous = module:get_option_string("authentication") == "anonymous"; | 30 anonymous = module:get_option_string("authentication") == "anonymous"; |
| 30 })); | 31 })); |
| 31 end; | 32 end; |
