Skip to content

Instantly share code, notes, and snippets.

@runeh
Created March 3, 2015 14:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save runeh/507fc164bfd410d0a076 to your computer and use it in GitHub Desktop.
Save runeh/507fc164bfd410d0a076 to your computer and use it in GitHub Desktop.
"use strict";
var highland = require("highland");
var request = require("request-promise");
var promiseToStream = highland;
var arrayToStream = highland;
var pollerToStream = highland;
function cowPageGenerator(url) {
var page = 1;
return function (push, next) {
console.log("pling", page);
push(null, request(url, { qs: { page: page++ } }));
next();
};
}
function cowStream(url) {
return pollerToStream(cowPageGenerator(url)).flatMap(promiseToStream).map(JSON.parse).map(function (e) {
return e.entries;
}).flatMap(arrayToStream).ratelimit(1, 1000);
}
var url = "http://hotell.difi.no/api/json/mattilsynet/husdyrregisteret/storfeindivider";
cowStream(url).each(console.log);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment