-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
37 lines (31 loc) · 843 Bytes
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
'use strict';
const {UA, DEFAULT_BASE_URL} = require('./constants');
class ITunesFeed {
constructor (opts) {
this.opts = opts;
this._request = opts.request.create({
baseURL: opts.baseUrl || DEFAULT_BASE_URL,
headers: {
'User-Agent': UA
}
});
}
read () {
return this._request.get(this.opts.feed);
}
}
module.exports = ITunesFeed;
if (!module.parent) {
const co = require('bluebird-co');
const buildUrl = require('./build-url');
co.execute(function * () {
const request = require('axios');
const feed = new ITunesFeed({
request: request,
baseURL: 'https://itunes.apple.com',
feed: buildUrl('us', 'top_free_applications', 100, 'Utilities', 'json')
});
const res = yield feed.read();
console.log(JSON.stringify(res.data, null, 4));
}).done();
}