UNPKG

cloudcms-server

Version:
60 lines (48 loc) 1.46 kB
var http = require("http"); var path = require("path"); var Gitana = require("gitana"); var SocketUtil = require("../util/socket"); var exports = module.exports; exports.init = function(socket, callback) { // on first connect, announce the server timestamp socket.emit("timestamp", { "timestamp": process.env.CLOUDCMS_APPSERVER_TIMESTAMP }); SocketUtil.bindGitana(socket, function(err) { if (err) { socket._log("ERROR on socket bindGitana: " + JSON.stringify(err)); } else { //socket._log("Successfully called bindGitana for socket"); } callback(); }); }; exports.library = function(socket, library) { var addHandler = function(methodName) { socket.on(methodName + "Request", function(data) { var responseMethodName = methodName + "Response"; if (data.responseMethodName) { responseMethodName = data.responseMethodName; } var method = library[methodName]; if (method) { method(responseMethodName, socket, data); } }); }; // all methods from the "sockets" library implement command handlers for (var methodName in library) { if (library.hasOwnProperty(methodName) && typeof(library[methodName]) === "function") { addHandler(methodName); } } };