Sha256: 719e1103e80841b5f9b8caa36baa94ea89b23febb4a81aa34e2b974d6e11e962

Contents?: true

Size: 1.55 KB

Versions: 26

Compression:

Stored size: 1.55 KB

Contents

// NOTE:
// When testing this demo you need to ensure that the domain you're hosting
// it on is in the network section of the cache manifest (second argument)
// or the long-poll may not work.

var Connect = require('../../lib/connect');
var root = __dirname + "/public";

var subscribers = [];

// This is esentially a broadcaster
var Backend = {
    subscribe: function (subscriber) {
        if (subscribers.indexOf(subscriber) < 0) {
            subscribers.push(subscriber);
            if (subscriber.timer) {
                clearTimeout(subscriber.timer);
            }
            subscriber.timer = setTimeout(function () {
                subscriber.flush();
            }, 1000);

        }
    },
    unsubscribe: function (subscriber) {
        var pos = subscribers.indexOf(subscriber);
        if (pos >= 0) {
            subscribers.slice(pos);
        }
    },
    publish: function (message, callback) {
        subscribers.forEach(function (subscriber) {
            subscriber.send(message);
        });
        callback();
    }
};

// Create a server with no initial setup
var Server = module.exports = Connect.createServer();

// Add global filters
Server.use("/",
    Connect.responseTime(),
    Connect.logger()
);

// Serve dynamic responses
Server.use("/stream",
    Connect.bodyDecoder(),
    Connect.pubsub(Backend)
);

// Serve static resources
Server.use("/",
    Connect.cacheManifest(root, ["http://localhost:3000/", "http://192.168.1.160:3000/"]),
    Connect.conditionalGet(),
    Connect.cache(),
    Connect.gzip(),
    Connect.staticProvider(root)
);

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
vulcan-0.8.2 server/node_modules/connect-form/support/connect/examples/multitouch/app.js
vulcan-0.8.1 server/node_modules/connect-form/support/connect/examples/multitouch/app.js
vulcan-0.8.0 server/node_modules/connect-form/support/connect/examples/multitouch/app.js
vulcan-0.7.2 server/node_modules/connect-form/support/connect/examples/multitouch/app.js
vulcan-0.7.1 server/node_modules/connect-form/support/connect/examples/multitouch/app.js
vulcan-0.7.0 server/node_modules/connect-form/support/connect/examples/multitouch/app.js
vulcan-0.6.1 server/node_modules/connect-form/support/connect/examples/multitouch/app.js
vulcan-0.6.0 server/node_modules/connect-form/support/connect/examples/multitouch/app.js
vulcan-0.5.0 server/node_modules/connect-form/support/connect/examples/multitouch/app.js
vulcan-0.4.0 server/node_modules/connect-form/support/connect/examples/multitouch/app.js
vulcan-0.3.0 server/node_modules/connect-form/support/connect/examples/multitouch/app.js
vulcan-0.2.5 server/node_modules/connect-form/support/connect/examples/multitouch/app.js
vulcan-0.2.4 server/node_modules/connect-form/support/connect/examples/multitouch/app.js
vulcan-0.2.3 server/node_modules/connect-form/support/connect/examples/multitouch/app.js
vulcan-0.2.2 server/node_modules/connect-form/support/connect/examples/multitouch/app.js
vulcan-0.2.1 server/node_modules/connect-form/support/connect/examples/multitouch/app.js
vulcan-0.2.0 server/node_modules/connect-form/support/connect/examples/multitouch/app.js
vulcan-0.1.6 server/node_modules/connect-form/support/connect/examples/multitouch/app.js
vulcan-0.1.5 server/node_modules/connect-form/support/connect/examples/multitouch/app.js
vulcan-0.1.4 server/node_modules/connect-form/support/connect/examples/multitouch/app.js