poelstra / mhub

Simple, flexible message hub using websockets
MIT License
9 stars 7 forks source link

Allow http(s) server to be passed in as an option #21

Closed rikkertkoppes closed 4 years ago

rikkertkoppes commented 4 years ago

discussion in #20

This allows running http and ws on the same http(s) server. Useful for combining mhub functionality with for example an express server

Working example:

const express = require("express");
const path = require("path");
const app = express();
const { MServer } = require("mhub");

let port = process.env.PORT || 5000;

// express server
const server = require("http").createServer(app);
app.use(express.static(path.join(__dirname, "build")));

app.get("/", function(req, res) {
    res.sendFile(path.join(__dirname, "build", "index.html"));
});

// mhub server
let mserver = new MServer({
    listen: [
        {
            type: "websocket",
            server
        }
    ],
    bindings: [],
    nodes: {
        default: "HeaderStore"
    },
    storage: "./storage",
    users: {},
    rights: {
        "": true
    }
});

mserver.init();

server.listen(port, () => {
    console.log(`server running on port ${port}`);
});
coveralls commented 4 years ago

Pull Request Test Coverage Report for Build 46


Totals Coverage Status
Change from base Build 45: 0.0%
Covered Lines: 542
Relevant Lines: 653

💛 - Coveralls
rikkertkoppes commented 4 years ago

closed in favor of subclassing, see #20