Home

Awesome

PubSubHubbub subscriber

PubSubHubbub subscriber module. Supports both 0.3 and 0.4 hubs.

NB Do not upgrade from v0.1.x - the API is totally different

Install

Install with npm

npm install pubsubhubbub

Usage

Create a pubsubhubbub server object

var pubSubHubbub = require('pubsubhubbub');
var pubSubSubscriber = pubSubHubbub.createServer(options);

Where options includes the following properties

HTTP server mode

Start a HTTP server to listen incoming PubSubHubbub requests

// listen on port 1337
pubSubSubscriber.listen(1337);

Express middleware mode

If you dot want to spin up a dedicated HTTP server, you can use the PubSubHubbub subscriber as an Express middleware.

Attach PubSubHubbub object to an Express server using listener method.

// use the same path as defined in callbackUrl
app.use("/pubsubhubbub", pubSubSubscriber.listener());

Events

API

Listen

Start listening on selected port

pubSubSubscriber.listen(port)

Where

Subscribe

Subscribe to a feed with

pubSubSubscriber.subscribe(topic, hub, callback)

Where

Example:

var pubSubSubscriber = pubSubHubbub.createServer(options);
var topic = "http://testetstetss.blogspot.com/feeds/posts/default";
var hub = "http://pubsubhubbub.appspot.com/";

pubSubSubscriber.on("subscribe", function(data){
    console.log(data.topic + " subscribed");
});

pubSubSubscriber.listen(port);

pubsub.on("listen", function(){
    pubSubSubscriber.subscribe(topic, hub, function(err){
        if(err){
            console.log("Failed subscribing");
        }
    });
});

Unsubscribe

Unsubscribe from a feed with

pubSubSubscriber.unsubscribe(topic, hub, callback)

Where

Example:

var pubSubSubscriber = pubSubHubbub.createServer(options),
    topic = "http://testetstetss.blogspot.com/feeds/posts/default",
    hub = "http://pubsubhubbub.appspot.com/";

pubSubSubscriber.on("unsubscribe", function(data){
    console.log(data.topic + " unsubscribed");
});

pubSubSubscriber.listen(port);

pubSubSubscriber.on("listen", function(){
    pubSubSubscriber.unsubscribe(topic, hub, function(err){
        if(err){
            console.log("Failed unsubscribing");
        }
    });
});

Notifications

Update notifications can be checked with the 'feed' event. The data object is with the following structure:

License

MIT