function write(data, enc, next) { var parsed = parse(data) if(parsed && parsed.length) { stream.push(parsed[0]) } next() }
function parseLinks (result) { if (!result || !result.length) { return cb(null, []) } result = result.toString() try { cb(null, linkParser(result)) } catch (e) { cb(e) } }
function parseResponse (err, res) { if (err) { return cb(err) } if (!res.headers.link || !res.headers.link.length) { return cb(null, []) } try { cb(null, linkParser(res.headers.link).filter(nonMementos)) } catch (e) { cb(e) } }
function end(e, res) { if (e) { return cb(e) } if (res.headers.link){ parseHeader(res.headers.link).forEach(function (link) { // header links should take precedence over html links for security - overwrite completely links[link.rel] = [link.href] }) } cb(e, links) }
this.linkParser = function(data, headers, Resource) { var links = httpLink.parse(headers('Link')); var ret = {}; for(var i = 0; i < links.length; i++) { var l = links[i]; var wl = hrWebLinkFactory(l, Resource); if (!angular.isUndefined(ret[l.rel])) { ret[l.rel].push(wl); } else { ret[l.rel] = [wl]; } delete l.rel; } return ret; };
var parse = module.exports.parse = function(str){ return httpLink.parse(str); }