-function login(server) {
- if (server[server.length-1] === '/') server = server.slice(0, -1);
+function login(uri) {
+ var tmp = url.parse(uri);
+ if (!tmp.slashes) tmp = url.parse('https://' + uri);
+
+ var server = tmp.protocol + '//' + tmp.host;
+
+ console.log('Using server', server.cyan);
+
+ var username = readlineSync.question('Username: ');
+ var password = readlineSync.question('Password: ', { noEchoBack: true });
+
+ superagent.get(server + API + '/').query({ username: username, password: password }).end(function (error, result) {
+ if (error && error.code === 'ENOTFOUND') {
+ console.log('Server %s not found.'.red, server.bold);
+ process.exit(1);
+ }
+ if (error && error.code) {
+ console.log('Failed to connect to server %s'.red, server.bold, error.code);
+ process.exit(1);
+ }
+ if (result.status === 401) {
+ console.log('Login failed.'.red);
+ process.exit(1);
+ }
+
+ config.set('server', server);
+ config.set('username', username);