diff options
Diffstat (limited to 'gdocs.js')
| -rwxr-xr-x | gdocs.js | 41 |
1 files changed, 31 insertions, 10 deletions
@@ -54,7 +54,7 @@ function fetch(collection, url){ if (title.match(/\.ngdoc$/)) { var exportUrl = entry.match(/<content type='text\/html' src='(.*?)'\/>/)[1]; download(collection, title, exportUrl); - } + }; }); } ); @@ -136,7 +136,13 @@ function login(username, password){ } function getAuthToken(){ - return fs.readFileSync('tmp/gdocs.auth'); + var pwdFile = 'tmp/gdocs.auth'; + try { + fs.statSync(pwdFile); + return fs.readFileSync(pwdFile); + } catch (e) { + console.log('Please log in first...'); + } } function request(method, url, options, response) { @@ -147,14 +153,29 @@ function request(method, url, options, response) { path: url[3], method: method }, function(res){ - var data = []; - res.setEncoding('utf8'); - res.on('end', function(){ - response(data.join('')); - }); - res.on('data', function (chunk) { - data.push(chunk); - }); + switch (res.statusCode) { + case 200: { + var data = []; + res.setEncoding('utf8'); + res.on('end', function(){ + response(data.join('')); + }); + res.on('data', function (chunk) { + data.push(chunk); + }); + res.on('error', function(e){ + console.log(e); + }); + break; + } + case 401: { + console.log('Eror: Login credentials expired! Please login.'); + break; + } + default: { + console.log(res); + } + } }); for(var header in options.headers) { request.setHeader(header, options.headers[header]); |
