UNPKG

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