pubsub: A library for Google/SixApart pubsub hub interaction

[ bsd3, library, program, web ] [ Propose Tags ]

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

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

[Skip to Readme]


Automatic Flags

Old, monolithic base


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


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.10, 0.11
Change log CHANGES
Dependencies base (>=2 && <4), fastcgi, feed (>=0.3.7), HTTP (>=4000.0.8), json, mime, network, random, utf8-string, xml [details]
License BSD-3-Clause
Copyright Copyright (c) 2009, Sigbjorn Finne
Author Sigbjorn Finne <>
Maintainer Sigbjorn Finne <>
Category Web
Home page
Uploaded by SigbjornFinne at 2009-08-09T21:38:08Z
Reverse Dependencies 1 direct, 0 indirect [details]
Executables feeder, pubsub.fcgi
Downloads 1730 total (9 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for pubsub-0.11

[back to package description]
== 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