feat(gdocs.js): output usefull error messages when not logged in.

This commit is contained in:
Misko Hevery 2011-08-31 10:01:40 -07:00 committed by Igor Minar
parent e5da0c956b
commit c763b009ac

View file

@ -54,7 +54,7 @@ function fetch(collection, url){
if (title.match(/\.ngdoc$/)) { if (title.match(/\.ngdoc$/)) {
var exportUrl = entry.match(/<content type='text\/html' src='(.*?)'\/>/)[1]; var exportUrl = entry.match(/<content type='text\/html' src='(.*?)'\/>/)[1];
download(collection, title, exportUrl); download(collection, title, exportUrl);
} };
}); });
} }
); );
@ -136,7 +136,13 @@ function login(username, password){
} }
function getAuthToken(){ 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) { function request(method, url, options, response) {
@ -147,14 +153,29 @@ function request(method, url, options, response) {
path: url[3], path: url[3],
method: method method: method
}, function(res){ }, function(res){
var data = []; switch (res.statusCode) {
res.setEncoding('utf8'); case 200: {
res.on('end', function(){ var data = [];
response(data.join('')); res.setEncoding('utf8');
}); res.on('end', function(){
res.on('data', function (chunk) { response(data.join(''));
data.push(chunk); });
}); 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) { for(var header in options.headers) {
request.setHeader(header, options.headers[header]); request.setHeader(header, options.headers[header]);