itembase-document-stream
v1.1.3
Published
Stream itembase documents
Downloads
5
Keywords
Readme
itembase-document-stream
Stream itembase documents. Handles pagination and refreshing the access token if necessary.
npm install itembase-document-stream
Usage
As a minimum the constructor requires the resource URL and a valid access token.
var itembase = require('itembase-document-stream');
var JSONStream = require('JSONStream');
itembase('/v1/users/:user_id/transactions', 'access_token')
.pipe(JSONStream.stringify())
.pipe(process.stdout);
It's also possible to pass more complex options.
var tokens = {
access_token: 'access_token',
refresh_token: 'refresh_token'
};
var options = {
client: { id: 'client_id', secret: 'client_secret' },
urls: { api: 'http://sandbox.api.itembase.io', accounts: 'http://sandbox.accounts.itembase.io' },
query: { document_limit: 10 }
};
var stream = itembase('/v1/users/:user_id/transactions', tokens, options);
stream.on('tokens', function(tokens) {
// Tokens have been refreshed
console.log(tokens);
});
stream.on('data', function(data) {
console.log(data);
});
The client
option, together with the refresh_token
, is necessary to be able to refresh the access token if it expires. Otherwise an error
event is emitted.
It's also possible to override the base URLs in the options map, and pass additional query parameters to the API request.
Additionally a start
event is emitted when the first request is performed. It contains, among other things, total number of documents to expect.