view mod_candy/mod_candy.lua @ 1486:b3e692ee16b5

mod_csi_compat: Implement the google:queue protocol and map to mod_csi events
author Matthew Wild <mwild1@gmail.com>
date Fri, 15 Aug 2014 21:17:58 +0100
parents f67eacb1ac9f
children 991a5f74f848
line wrap: on
line source

-- mod_candy.lua
-- Copyright (C) 2013 Kim Alvefur
--
-- Run this in www_files
-- curl -L http://github.com/candy-chat/candy/tarball/master | tar xzfv - --strip-components=1

local json_encode = require"util.json".encode;

module:depends"bosh";
local serve = module:depends"http_files".serve;

module:provides("http", {
	route = {
		["GET /prosody.js"] = function(event)
			event.response.headers.content_type = "text/javascript";
			return ("// Generated by Prosody\n"
				.."var Prosody = %s;\n")
					:format(json_encode({
						bosh_path = module:http_url("bosh","/http-bind");
						version = prosody.version;
						host = module:get_host();
						anonymous = module:get_option_string("authentication") == "anonymous";
					}));
		end;
		["GET /*"] = serve(module:get_directory().."/www_files");
		GET = function(event)
			event.response.headers.location = event.request.path.."/";
			return 301;
		end;
	}
});