Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions ssl/ednity-staging_cert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
-----BEGIN CERTIFICATE-----
MIIDKjCCAhKgAwIBAgIBATANBgkqhkiG9w0BAQUFADBcMQswCQYDVQQGEwJKUDET
MBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQ
dHkgTHRkMRUwEwYDVQQDDAxnbzRqb2Nrcy54eXowHhcNMTQwNzE0MTAwMTI1WhcN
MTUwNzE0MTAwMTI1WjBcMQswCQYDVQQGEwJKUDETMBEGA1UECAwKU29tZS1TdGF0
ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRUwEwYDVQQDDAxn
bzRqb2Nrcy54eXowgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALAqFS6CWVsE
C12LWS64uT+Lol7UDuKSIgA6c+xQneFW6Wbctr+T3yrstH5tY/DUoMyyqPOYG1Ms
ApLAtJi6uAH9XV30179xj9cHZKgibG3gpVQxaDXdFU1FkVeRCK7zyM05Eq5h823f
3qnh0gkfHxazZ7nIr7WFLmqM8bAemd8JAgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJ
YIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1Ud
DgQWBBRnvXstA3QXPgxPTN81Tx/tV1nqhTAfBgNVHSMEGDAWgBQmvyGmrFHZV4zH
ff/EWY7bnlzUOzANBgkqhkiG9w0BAQUFAAOCAQEAgof7Zlfu5lHWvHkE7/8zQTzj
MsLGhP+0cJ551eWcq86G9o301Nc/GowAhpFrnCJybuAirGW6FcO55HJjsl4ZzuO9
qL8tcjNvrpAxuWDzhlno8fndxzc2j8fZNG5qXkLa2oSDQTMOHEVjGFIpVhoaQyWd
S9EdE/6ZVDTX12FALnvu6SSbdRrFnWAj+4FW4cahFu7uRg6cKOI8BbFiHzyw18UE
viAzFdlVCbxK6jRFkWgikgi7ASKQiRFVUnIc+Bxx0fzTbpZbiZUQiiwxDc0ju4ON
I1eqlwjm0YDr+7ZxKKrvYuSsvf4VpL7togTpWMdgGJ16XQYIYQVTSLZk5QqKVw==
-----END CERTIFICATE-----
15 changes: 15 additions & 0 deletions ssl/ednity-staging_key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
-----BEGIN RSA PRIVATE KEY-----
MIICXgIBAAKBgQCwKhUugllbBAtdi1kuuLk/i6Je1A7ikiIAOnPsUJ3hVulm3La/
k98q7LR+bWPw1KDMsqjzmBtTLAKSwLSYurgB/V1d9Ne/cY/XB2SoImxt4KVUMWg1
3RVNRZFXkQiu88jNORKuYfNt396p4dIJHx8Ws2e5yK+1hS5qjPGwHpnfCQIDAQAB
AoGBAKi+Jrv+MAl2vkxEhpCycP/liQq8peVxhRAi7ZeXQSPwVHIrSQIJauN7CQlx
TyIJCl4JZLyxHrt0lKJt5I/HiykE9n+N6+ASH/IJ5pyBLx9QJMXwZdidZ5t7fG4Y
1QB185cSeqs69GGdy350GaFftoHDuS2E8noEPt7DbCnyS7QBAkEA42M5PNh+N+Y8
Pg5iTSbBTClTyS9wlTNUso6J1bxFy/VcMjYb2a1cTsYzY0j9xNpu+VRhdzdhPYkZ
7jxUanA20QJBAMZU0c2lOI4w6WcSMXGoEN51c7YtciykDBIdOPpIXDEbdGUa5LjB
I9wkc36ZqQTC5133WT1GnVR++DMiqLwyorkCQAyhHjS68Ye5Se9IbT1LwcCxKu4p
rF8dEr84G3+7jUTew9gmGTXl4xKc/42sKCwe1bsTbLZqZQQ98SrCPw4KXYECQQCD
Js/el6WAkeOmnydHK4aMNUsha4gW8RxyVhS5nWQprSgZO+GIM2BNUWV2kJJubZym
TM0ccjfUCmqDFiZS3YExAkEAu9OPY9fJKGzpq50RYWsuBDRH8YI9x2kpTl8qzheg
vnNd5V+gLp+TOD+xB4TR3Pn9oS5AHjg7rJu/oA1MyVeCHQ==
-----END RSA PRIVATE KEY-----
99 changes: 46 additions & 53 deletions timeline_node.js
Original file line number Diff line number Diff line change
@@ -1,72 +1,65 @@
// set ENV
switch (process.env.NODE_ENV) {
case 'production':
var port = 3001;
var PORT = 3001;
break;
case 'staging':
var port = 34543;
var PORT = 34543;
break;
default:
var PORT = 3333;
break;
};

var SSL_KEY = './ssl/ednity-staging_key.pem';
var SSL_CERT = './ssl/ednity-staging_cert.pem';


require('newrelic');
var http = require("http");
var https = require("https");
var url = require('url');
var socketio = require("socket.io");
var fs = require("fs");

var server = http.createServer().listen(port || 3333);
var io = socketio.listen(server);
var options = {
key : fs.readFileSync(SSL_KEY).toString(),
cert : fs.readFileSync(SSL_CERT).toString(),
ca: [ fs.readFileSync(SSL_CERT) ],
NPNProtocols: ['http/1.1', 'spdy/3']
}

// notificationのping用
server.on('request', function(req, res) {
if (req.url == '/health') {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('are you ednitied?');
return;
}
var urlElements = url.parse(req.url, true);
var query = urlElements.query;

if (query.type == 'ping') {
io.sockets.in(query.group_id).emit("notification", { type: "ping" });
}
});
var server = https.createServer(options,function(req, res) {
res.writeHead(200);
res.end('are you ednitied?');
}).listen(PORT);

var io = socketio.listen(server);

io.sockets.on("connection", function (socket) {

/* Join room */
socket.on('initialize', function(data) {
socket.join(data.group_id);
});
/* Join room */
socket.on('initialize', function(data) {
socket.join(data.group_id);
});

/* Broadcast the data */
socket.on("post", function (data) {
socket
.broadcast.to(data.group_id).emit("post", data)
.broadcast.to(data.group_id).emit("notification", { type: "ping" });
});
socket.on("comment", function (data) {
socket
.broadcast.to(data.group_id).emit("comment", data)
.broadcast.to(data.group_id).emit("notification", { type: "ping" });
});
socket.on("like", function (data) {
socket
.broadcast.to(data.group_id).emit("like", data)
.broadcast.to(data.group_id).emit("notification", { type: "ping" });
});
socket.on("qa_answer", function (data) {
socket
.broadcast.to(data.group_id).emit("qa_answer", data)
.broadcast.to(data.group_id).emit("notification", { type: "ping" });
});
socket.on("notification", function (data) {
socket
.broadcast.to(data.group_id).emit("notification", { type: "ping" });
});
socket.on("poll_check", function (data) {
socket
.broadcast.to(data.group_id).emit("poll_check", data);
//.broadcast.to(data.group_id).emit("notification", { type: "ping" });
});
/* Broadcast the data */
socket.on("post", function (data) {
socket
.broadcast.to(data.group_id).emit("post", data)
.broadcast.to(data.group_id).emit("notification", { type: "ping" });
});
socket.on("comment", function (data) {
socket
.broadcast.to(data.group_id).emit("comment", data)
.broadcast.to(data.group_id).emit("notification", { type: "ping" });
});
socket.on("like", function (data) {
socket
.broadcast.to(data.group_id).emit("like", data)
.broadcast.to(data.group_id).emit("notification", { type: "ping" });
});
socket.on("notification", function (data) {
socket
.broadcast.to(data.group_id).emit("notification", { type: "ping" });
});
});