Migration to AGL gerrit (update go import)
[src/xds/xds-cli.git] / main.go
diff --git a/main.go b/main.go
index ad237af..72a9d22 100644 (file)
--- a/main.go
+++ b/main.go
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2017 "IoT.bzh"
+ * Copyright (C) 2017-2018 "IoT.bzh"
  * Author Sebastien Douheret <sebastien@iot.bzh>
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -28,9 +28,10 @@ import (
        "strings"
        "text/tabwriter"
 
+       "gerrit.automotivelinux.org/gerrit/src/xds/xds-agent.git/lib/xaapiv1"
+       common "gerrit.automotivelinux.org/gerrit/src/xds/xds-common.git/golib"
        "github.com/Sirupsen/logrus"
-       "github.com/iotbzh/xds-agent/lib/xaapiv1"
-       common "github.com/iotbzh/xds-common/golib"
+
        "github.com/joho/godotenv"
        socketio_client "github.com/sebd71/go-socket.io-client"
        "github.com/urfave/cli"
@@ -57,7 +58,7 @@ var AppSubVersion = "unknown-dev"
 
 // Application details
 const (
-       appCopyright    = "Copyright (C) 2017 IoT.bzh - Apache-2.0"
+       appCopyright    = "Copyright (C) 2017-2018 IoT.bzh - Apache-2.0"
        defaultLogLevel = "error"
 )
 
@@ -320,6 +321,11 @@ func XdsConnInit(ctx *cli.Context) error {
                serverURL = "http://" + serverURL
        }
 
+       lvl := common.HTTPLogLevelWarning
+       if Log.Level == logrus.DebugLevel {
+               lvl = common.HTTPLogLevelDebug
+       }
+
        // Create HTTP client
        Log.Debugln("Connect HTTP client on ", agentURL)
        conf := common.HTTPClientConfig{
@@ -328,15 +334,22 @@ func XdsConnInit(ctx *cli.Context) error {
                CsrfDisable:         true,
                LogOut:              Log.Out,
                LogPrefix:           "XDSAGENT: ",
-               LogLevel:            common.HTTPLogLevelWarning,
+               LogLevel:            lvl,
        }
 
        HTTPCli, err = common.HTTPNewClient(agentURL, conf)
        if err != nil {
                errmsg := err.Error()
-               if m, err := regexp.MatchString("Get http.?://", errmsg); m && err == nil {
+               m, err := regexp.MatchString("Get http.?://", errmsg)
+               if (m && err == nil) || strings.Contains(errmsg, "Failed to get device ID") {
                        i := strings.LastIndex(errmsg, ":")
-                       errmsg = "Cannot connection to " + agentURL + errmsg[i:]
+                       newErr := "Cannot connection to " + agentURL
+                       if i > 0 {
+                               newErr += " (" + strings.TrimSpace(errmsg[i+1:]) + ")"
+                       } else {
+                               newErr += " (" + strings.TrimSpace(errmsg) + ")"
+                       }
+                       errmsg = newErr
                }
                return cli.NewExitError(errmsg, 1)
        }