The pubsub package

[Tags:bsd3, library, program]

A package for setting up, sending and receiving PubSub requests to pubsub hubs,

Git repository available at git://coming.soon/

[Skip to Readme]


Versions 0.10, 0.11
Change log CHANGES
Dependencies base (>=2 && <4), fastcgi, feed, HTTP (>=4000), json, mime, network, random, utf8-string, xml [details]
License BSD3
Copyright Copyright (c) 2009, Sigbjorn Finne
Author Sigbjorn Finne <>
Maintainer Sigbjorn Finne <>
Category Web
Home page
Uploaded Sun Aug 9 19:34:19 UTC 2009 by SigbjornFinne
Distributions NixOS:0.11
Downloads 551 total (13 in the last 30 days)
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI





Old, monolithic base


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for pubsub

Readme for pubsub-0.10

== Intro ==

This package is an early-release of the webhooks / publish-subscribe
protocol that is working and
rapidly deploying for various Google services.

The protocol itself isn't tied or limited to a Google service; a
number of hubs have been created and deployed already (see the
above URL for list.)

This Haskell package adds support for working with these
HTTP-based publish-subscribe hub servers, i.e., you may
subscribe to notification to URLs ('topics') from a hub and it
will push updates down as they occur (rather than you polling.)

== Getting started ==

The protocol is dependent on having some callback/endpoints
to forward 'topic' updates to you locally. There's a number of
ways of providing this in Haskell...for testing purposes, I've
included a 'fastcgi' proxy/relaying script that handles this;
see examples/Main.hs It operates by forwarding incoming requests
to a local server for processing -- the thinking being that
it provides a robust web front-end, leaving your basic Haskell
code to do the interesting bits of proccessing the pubsub
notifications. An example of how this could be done is provided
in examples/Feeder.hs which uses the pubsubhub service that provides.

To use, you need to:

 * build the cabal package..(!)
 * Make the fastcgi script pubsub.fcgi available on
   'web-visible' URL. 
 * Adjust the settings at the top of examples/Feeder.hs
   to match your local settings for the script's URL +
   settle on a hub to use.

For actual code / documentation on the bits that implement the
very-straightforward PubSubHub protocol, see Web/PubSub.hs

--sigbjorn 09/08/2009