From 789cc0209b472db2e2479abc3b67581a433ec882 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Gonz=C3=A1lez?= Date: Fri, 16 Nov 2018 12:47:22 +0100 Subject: [PATCH] Add support to Bool type in XMLRPC response --- src/oca/go/src/goca/goca.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/oca/go/src/goca/goca.go b/src/oca/go/src/goca/goca.go index 88d6272245..b820fa0c76 100644 --- a/src/oca/go/src/goca/goca.go +++ b/src/oca/go/src/goca/goca.go @@ -32,9 +32,10 @@ type oneClient struct { } type response struct { - status bool - body string - bodyInt int + status bool + body string + bodyInt int + bodyBool bool } // Resource implements an OpenNebula Resource methods. *XMLResource implements @@ -125,6 +126,7 @@ func (c *oneClient) Call(method string, args ...interface{}) (*response, error) status bool body string bodyInt int64 + bodyBool bool ) if c.xmlrpcClientError != nil { @@ -152,13 +154,16 @@ func (c *oneClient) Call(method string, args ...interface{}) (*response, error) if ok == false { bodyInt, ok = result[1].(int64) if ok == false { - log.Fatal("Unexpected XML-RPC response. Expected: Index 0 Int or String") + bodyBool, ok = result[1].(bool) + if ok == false { + log.Fatal("Unexpected XML-RPC response. Expected: Index 0 Int or String") + } } } // TODO: errCode? result[2] - r := &response{status, body, int(bodyInt)} + r := &response{status, body, int(bodyInt), bodyBool} if status == false { err = errors.New(body)