UNPKG

1.46 kBJavaScriptView Raw
1var http = require("http");
2var path = require("path");
3
4var Gitana = require("gitana");
5
6var SocketUtil = require("../util/socket");
7
8var exports = module.exports;
9
10exports.init = function(socket, callback)
11{
12 // on first connect, announce the server timestamp
13 socket.emit("timestamp", {
14 "timestamp": process.env.CLOUDCMS_APPSERVER_TIMESTAMP
15 });
16
17 SocketUtil.bindGitana(socket, function(err) {
18
19 if (err)
20 {
21 socket._log("ERROR on socket bindGitana: " + JSON.stringify(err));
22 }
23 else
24 {
25 //socket._log("Successfully called bindGitana for socket");
26 }
27
28 callback();
29 });
30};
31
32exports.library = function(socket, library)
33{
34 var addHandler = function(methodName)
35 {
36 socket.on(methodName + "Request", function(data) {
37
38 var responseMethodName = methodName + "Response";
39 if (data.responseMethodName) {
40 responseMethodName = data.responseMethodName;
41 }
42
43 var method = library[methodName];
44 if (method)
45 {
46 method(responseMethodName, socket, data);
47 }
48 });
49 };
50
51 // all methods from the "sockets" library implement command handlers
52 for (var methodName in library)
53 {
54 if (library.hasOwnProperty(methodName) && typeof(library[methodName]) === "function")
55 {
56 addHandler(methodName);
57 }
58 }
59};