diff --git a/component.json b/component.json index 45f398e..94a164b 100644 --- a/component.json +++ b/component.json @@ -1,8 +1,11 @@ { "name": "octo", "version": "0.2.1", - "main": "index", + "main": "octo.js", "dependencies": { - "superagent": "https://raw.github.com/Caged/octo/master/examples/ven/superagent.js" - } -} \ No newline at end of file + "visionmedia/superagent": "0.21.0" + }, + "scripts": [ + "octo.js" + ] +} diff --git a/octo.js b/octo.js index a688344..7ac65ad 100644 --- a/octo.js +++ b/octo.js @@ -1,4 +1,3 @@ - /*! * octo.js * Copyright (c) 2012 Justin Palmer @@ -8,8 +7,10 @@ (function() { if(typeof superagent === 'undefined' && require) { - superagent = require('superagent') - btoa = require('btoa') + superagent = require('superagent'); + if (typeof process !== 'undefined' && process.execPath && process.execPath.indexOf('node') !== -1) { + btoa = require('btoa'); + } } var octo = {} @@ -37,13 +38,18 @@ perpage = 30, hasnext = false, hasprev = false, - headers = {}, + headers = { + 'User-Agent': 'Octo.js' + }, callbacks = {} var request = function() { var req = superagent[method](api.host() + path) var complete = function(res) { + if (pager._handledError) { + return; + } limit = ~~res.header['x-ratelimit-limit'] remaining = ~~res.header['x-ratelimit-remaining'] @@ -53,9 +59,13 @@ pager.trigger('end', res) if(res.ok) pager.trigger('success', res) - if(res.error) pager.trigger('error', res) } + req.on('error', function (err) { + pager._handledError = err; + pager.trigger('error', err); + }); + if(token) req.set('Authorization', 'token ' + token) if(!token && username && password) @@ -64,6 +74,7 @@ req .set(headers) .query({page: page, per_page: perpage}) + .timeout(3000) .send(params) .end(complete) } @@ -222,8 +233,8 @@ // Initializes a DELETE request to GitHub API v3 // Returns a pager - api.delete = function(path, params) { - return new pager('delete', path, params) + api.del = function(path, params) { + return new pager('del', path, params) } // Returns the API rate limit as reported by GitHub @@ -273,4 +284,4 @@ else window.octo = octo -})() \ No newline at end of file +})() diff --git a/package.json b/package.json index 0d42f4e..3a8f563 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "url": "http://labratrevenge.com" }, "dependencies": { - "superagent": "0.9.0", + "superagent": "0.18.0", "btoa": "*" }, @@ -30,4 +30,4 @@ "scripts": { "test": "make test" } -} \ No newline at end of file +}