aboutsummaryrefslogtreecommitdiffhomepage
path: root/cli/actions.js
diff options
context:
space:
mode:
Diffstat (limited to 'cli/actions.js')
-rw-r--r--cli/actions.js12
1 files changed, 8 insertions, 4 deletions
diff --git a/cli/actions.js b/cli/actions.js
index 996ef7f..e9bbd9d 100644
--- a/cli/actions.js
+++ b/cli/actions.js
@@ -55,7 +55,7 @@ function collectFiles(filesOrFolders, options) {
55 return tmp; 55 return tmp;
56} 56}
57 57
58function login(uri) { 58function login(uri, options) {
59 var tmp = url.parse(uri); 59 var tmp = url.parse(uri);
60 if (!tmp.slashes) tmp = url.parse('https://' + uri); 60 if (!tmp.slashes) tmp = url.parse('https://' + uri);
61 61
@@ -63,8 +63,8 @@ function login(uri) {
63 63
64 console.log('Using server', server.cyan); 64 console.log('Using server', server.cyan);
65 65
66 var username = readlineSync.question('Username: '); 66 var username = options.username || readlineSync.question('Username: ');
67 var password = readlineSync.question('Password: ', { hideEchoBack: true, mask: '' }); 67 var password = options.password || readlineSync.question('Password: ', { hideEchoBack: true, mask: '' });
68 68
69 superagent.post(server + '/api/login').send({ username: username, password: password }).end(function (error, result) { 69 superagent.post(server + '/api/login').send({ username: username, password: password }).end(function (error, result) {
70 if (error && error.code === 'ENOTFOUND') { 70 if (error && error.code === 'ENOTFOUND') {
@@ -77,7 +77,11 @@ function login(uri) {
77 } 77 }
78 if (result.status !== 201) { 78 if (result.status !== 201) {
79 console.log('Login failed.\n'.red); 79 console.log('Login failed.\n'.red);
80 return login(uri); 80
81 // remove the password to avoid a login loop
82 delete options.password;
83
84 return login(uri, options);
81 } 85 }
82 86
83 // TODO remove at some point, this is just to clear the previous old version values 87 // TODO remove at some point, this is just to clear the previous old version values