From 8eec65457e532c0e6a9721e3c6df9a6a9489d96f Mon Sep 17 00:00:00 2001 From: Sebastien Douheret Date: Thu, 7 Dec 2017 17:46:44 +0100 Subject: [PATCH] Improved reported error on invalid XDS_AGENT_URL Specifically when AGENT_URL is set to SERVER_URL and consequently connection failed with "Failed to get device ID" error. --- gdb-xds.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gdb-xds.go b/gdb-xds.go index d57817d..0e93b52 100644 --- a/gdb-xds.go +++ b/gdb-xds.go @@ -120,14 +120,22 @@ func (g *GdbXds) Init() (int, error) { HeaderClientKeyName: "Xds-Agent-Sid", CsrfDisable: true, LogOut: g.log.Out, - LogLevel: common.HTTPLogLevelWarning, + LogPrefix: "XDSAGENT: ", + LogLevel: common.HTTPLogLevelDebug, } c, err := common.HTTPNewClient(baseURL, 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 " + baseURL + errmsg[i:] + newErr := "Cannot connection to " + baseURL + if i > 0 { + newErr += " (" + strings.TrimSpace(errmsg[i+1:]) + ")" + } else { + newErr += " (" + strings.TrimSpace(errmsg) + ")" + } + errmsg = newErr } return int(syscallEBADE), fmt.Errorf(errmsg) } -- 2.16.6