2019-11-01 10:12:40 +00:00
|
|
|
// First and foremost:
|
|
|
|
// I'm not a fan of `socket.io` because it's huge and complex.
|
|
|
|
// I much prefer `ws` because it's very simple and easy.
|
|
|
|
// That said, it's popular.......
|
|
|
|
"use strict";
|
|
|
|
|
|
|
|
// Note: You DO NOT NEED socket.io
|
|
|
|
// You can just use WebSockets
|
|
|
|
// (see the websocket example)
|
|
|
|
|
2020-01-11 00:51:25 +00:00
|
|
|
//require("greenlock-express")
|
|
|
|
require("../../")
|
|
|
|
.init({
|
|
|
|
packageRoot: __dirname,
|
|
|
|
configDir: "./greenlock.d",
|
|
|
|
|
|
|
|
maintainerEmail: "jon@example.com",
|
|
|
|
cluster: false
|
|
|
|
})
|
|
|
|
.ready(httpsWorker);
|
|
|
|
|
2019-11-01 10:12:40 +00:00
|
|
|
function httpsWorker(glx) {
|
2019-11-01 21:14:07 +00:00
|
|
|
var socketio = require("socket.io");
|
|
|
|
var io;
|
2019-11-01 10:12:40 +00:00
|
|
|
|
2019-11-01 21:14:07 +00:00
|
|
|
// we need the raw https server
|
|
|
|
var server = glx.httpsServer();
|
2019-11-01 10:12:40 +00:00
|
|
|
|
2019-11-01 21:14:07 +00:00
|
|
|
io = socketio(server);
|
2019-11-01 10:12:40 +00:00
|
|
|
|
2019-11-01 21:14:07 +00:00
|
|
|
// Then you do your socket.io stuff
|
|
|
|
io.on("connection", function(socket) {
|
|
|
|
console.log("a user connected");
|
|
|
|
socket.emit("Welcome");
|
2019-11-01 10:12:40 +00:00
|
|
|
|
2019-11-01 21:14:07 +00:00
|
|
|
socket.on("chat message", function(msg) {
|
|
|
|
socket.broadcast.emit("chat message", msg);
|
|
|
|
});
|
|
|
|
});
|
2019-11-01 10:12:40 +00:00
|
|
|
|
2019-11-01 21:14:07 +00:00
|
|
|
// servers a node app that proxies requests to a localhost
|
|
|
|
glx.serveApp(function(req, res) {
|
|
|
|
res.setHeader("Content-Type", "text/html; charset=utf-8");
|
|
|
|
res.end("Hello, World!\n\n💚 🔒.js");
|
|
|
|
});
|
2019-11-01 10:12:40 +00:00
|
|
|
}
|