0.3.3 • Published 4 years ago

io-bus v0.3.3

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

io-bus

Add io-bus middleware to your express application to provide MsgBus interface between all Apps hosted in this server

To start the built-in server

Run this command in a terminal

io-server {port}

And include http://{host}:{port}/io-bus/web-client.js in your web app to utilize the MsgBus features: (publish,request,on,off,once,is_connected)

Server side code

var ioBus = require("io-bus");
var express = require("express");
var app = express();
var httpServer = app.listen(3000, function() {});

var sample_data = {
	users: 1000
};

ioBus(9666).connect("BackendServices", function(msgBus) {
	msgBus.addRequestHandler("GetData", function(params, from) {
		return sample_data;
	});
	msgBus.addRequestHandler("AddUser", function(params, from) {
		sample_data.users += params.users;
		msgBus.publish("DataUpdated", sample_data);
		return sample_data;
	});
});

app.use(
	ioBus.inject({
		snippet:
			'<script src="http://localhost:9666/io-bus/web-client.js"></script>'
	})
);

app.use("/", express.static("./static/", { index: "index.html" }));

client side usage

<button id="UpdateUsers">Update</button>
<script>
    window.addEventListener("DOMContentLoaded",function(){

        var ioBus = MsgBus("MyClientID",function(connected){//connection callback
            if(connected){
                ioBus.on('DataUpdated',function(msg){
                   console.log('Data has been updated');
                   console.log(msg.data);
                });

                ioBus.request('GetData').then(function(response){
                   //Refresh UI
                   console.log('GetData responded');
                   console.log(response.data);
                   ioBus.publish("UIUpdated",{users:response.data.users});
                })
            }
        });

        document.getElementById('UpdateUsers').addEventListener('click',function(){
            ioBus.request('AddUser',{users:1}).then(
                function(response){
                    console.log("AddUser Succeeded");
                    console.log(response.data);
                },
                function(err){// mostly from disconnected socket
                    console.error(err);
                }
            );
        });

    })

</script>
0.3.3

4 years ago

0.3.0

5 years ago

0.3.2

5 years ago

0.3.1

5 years ago

0.2.9

5 years ago

0.2.8

5 years ago

0.2.7

5 years ago

0.2.6

5 years ago

0.2.5

6 years ago

0.2.4

6 years ago

0.2.3

6 years ago

0.2.2

6 years ago

0.2.1

6 years ago

0.2.0

7 years ago

0.1.9

9 years ago

0.1.8

9 years ago

0.1.7

9 years ago

0.1.6

9 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.13

10 years ago

0.0.12

10 years ago

0.0.11

10 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago