UNPKG

1.14 kBJavaScriptView Raw
1var http = require('http')
2var url = require('url')
3
4var simple = {
5 base: 'http://vimeo.com/api/v2',
6 methods: {
7 video: '',
8 activity: '',
9 group: '',
10 channel: '',
11 album: ''
12 },
13 create: function(method) {
14 return function(end, cb) {
15 var getUrl = simple.url(method, end)
16 simple.get(getUrl, cb)
17 }
18 },
19 url: function(method, end) {
20 end = String(end)
21 var parts = end.split('.')[0].split('/')
22 parts.unshift(simple.base, method)
23 return [ parts.join('/'), 'json'].join('.')
24 },
25 get: function(getUrl, cb) {
26 var data = []
27 http.get(url.parse(getUrl), function(res) {
28 res.on('data', function(chunk) {
29 data.push(chunk)
30 }).on('end', function() {
31 data = data.join('')
32 simple.parse(data, cb)
33 })
34 })
35 },
36 parse: function(data, cb) {
37 var json = null
38 var err = null
39 try { json = JSON.parse(data) }
40 catch(e) { err = 'Not found' }
41 cb(err, json, data)
42 },
43 exports: function() {
44 var ex = {}
45 for (var m in simple.methods) {
46 ex[m] = simple.create(m)
47 }
48 return ex
49 }
50}
51
52module.exports = simple.exports()
\No newline at end of file