hubhook

github post-receive service hook handler

npm install hubhook
2 downloads in the last week
4 downloads in the last month

hubhook

A github post-commit service hook handler

example:

example.js

var hook = require('hubhook')();

var http = require('http');

http.createServer(function (req, res) {
  if (req.method === 'POST' && req.url === '/api/webhooks/git') {
    return hook.handle(req, res);
  }
  res.statusCode = 404;
  res.setHeader('content-type': 'application/json');
  res.end(JSON.stringify({
    error: 404,
    message: 'not_found',
    hints: 'POST to /api/webhooks/git'
  }, true, 2));
}).listen(7005);

hook.on('payload', function (payload) {
  console.log(payload);
});

output:

(example with a random repo of mine)

$ node example.js
{ pusher: { name: 'none' },
  repository: 
   { name: 'my-little-proxy',
     size: 168,
     has_wiki: true,
     created_at: '2012-09-16T12:08:06-07:00',
     private: false,
     watchers: 6,
     url: 'https://github.com/jesusabdullah/my-little-proxy',
     fork: false,
     language: 'JavaScript',
     pushed_at: '2012-09-23T02:04:52-07:00',
     id: 5832190,

***snip***

API:

var HubHook = require('hubhook')

var hook = new HubHook;

A constructor. Can call without new like so: var hook = HubHook().

hook.handle(req, res)

Handle the request as a webhook post.

event: "payload"

This event is emitted after hook.handle processes a hook payload.

Tests:

$ npm test

License:

MIT/X11

npm loves you