UNPKG

clabot-fix

Version:

A bot to take the pain out of Contributor License Agreements

56 lines (48 loc) 1.3 kB
(function() { 'use strict'; var mime, qs, _; qs = require('qs'); _ = require('lodash'); mime = function(req) { var str; str = req.headers['content-type'] || ''; return str.split(';')[0]; }; exports.allowCrossDomain = function(req, res, next) { res.header('Access-Control-Allow-Origin', '*'); res.header('Access-Control-Allow-Methods', 'GET,POST'); res.header('Access-Control-Allow-Headers', 'Content-Type,X-Hub-Signature'); return next(); }; exports.provideClabotOptions = function(options) { var middleware; return middleware = function(req, res, next) { req.clabotOptions = _.clone(options); return next(); }; }; exports.parseBodyKeepRaw = function(req, res, next) { var buf; if (req.headers['x-hub-signature']) { buf = ''; req.setEncoding('utf8'); req._body = true; req.on('data', function(chunk) { return buf += chunk; }); return req.on('end', function() { var err; req.rawBody = buf; try { req.body = (buf.length ? qs.parse(req.rawBody) : {}); return next(); } catch (_error) { err = _error; return next(err); } }); } else { return next(); } }; }).call(this);