From 32df96e1dc02531c42435dd6a12a0ac6f8725ff0 Mon Sep 17 00:00:00 2001 From: Collin Guarino Date: Sat, 13 Feb 2016 11:48:59 -0500 Subject: Converted GetBridgeInfo to Bridge.GetInfo --- bridge.go | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'bridge.go') diff --git a/bridge.go b/bridge.go index 4785175..1081616 100644 --- a/bridge.go +++ b/bridge.go @@ -146,28 +146,32 @@ func (self *Bridge) Error(resp *http.Response, err error) (bool) { } // NewBridge defines hardware that is compatible with Hue. -func NewBridge(ip string, username string) *Bridge { +func NewBridge(ip string, username string) (*Bridge, error) { bridge := Bridge { IPAddress: ip, Username: username, } - GetBridgeInfo(&bridge) - return &bridge + info, err := bridge.GetInfo() + if err != nil { + return &Bridge{}, err + } + bridge.Info = info + return &bridge, nil } // GetBridgeInfo retreives the description.xml file from the bridge. -func GetBridgeInfo(self *Bridge) error { +func (self *Bridge) GetInfo() (BridgeInfo, error) { _, reader, err := self.Get("/description.xml") if err != nil { - return err + return BridgeInfo{}, err } data := BridgeInfo{} err = xml.NewDecoder(reader).Decode(&data) if err != nil { - return err + return BridgeInfo{}, err } self.Info = data - return nil + return data, nil } // CreateUser posts to ./api on the bridge to create a new whitelisted user. -- cgit v1.2.3