diff options
author | Collin Guarino <collin.guarino@gmail.com> | 2016-02-13 11:48:59 -0500 |
---|---|---|
committer | Collin Guarino <collin.guarino@gmail.com> | 2016-02-13 11:48:59 -0500 |
commit | 32df96e1dc02531c42435dd6a12a0ac6f8725ff0 (patch) | |
tree | c8477a48f55991218b40a1685546f91c2734926d /bridge.go | |
parent | 11c8df3ca1f1aac6bd893ea2ecb69f858faceda5 (diff) |
Converted GetBridgeInfo to Bridge.GetInfo
Diffstat (limited to 'bridge.go')
-rw-r--r-- | bridge.go | 18 |
1 files changed, 11 insertions, 7 deletions
@@ -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. |