diff options
author | Collin Guarino <collin.guarino@gmail.com> | 2016-02-21 16:19:19 -0500 |
---|---|---|
committer | Collin Guarino <collin.guarino@gmail.com> | 2016-02-21 16:19:19 -0500 |
commit | 9e14b7323fd6b07144d6ebe62eb011eb0f317fb1 (patch) | |
tree | 721fb914adaebbfd239e010d591129f967d05496 /bridge.go | |
parent | 6b8ed19f09439a1d8af9129143ebf96a4c3b8774 (diff) |
Improved error handling for Bridge.Login and Bridge.CreateUser
Diffstat (limited to 'bridge.go')
-rw-r--r-- | bridge.go | 25 |
1 files changed, 14 insertions, 11 deletions
@@ -154,22 +154,12 @@ func NewBridge(ip string) (*Bridge, error) { } err := bridge.GetInfo() if err != nil { + log.Fatal("Error: Unable to access bridge. ", err) return &Bridge{}, err } return &bridge, nil } -// Bridge.Login assigns a username to access the bridge with and -// will create the username key if it does not exist. -func (bridge *Bridge) Login(username string) error { - bridge.Username = username - err := bridge.CreateUser(username) - if err != nil { - return err - } - return nil -} - // GetBridgeInfo retreives the description.xml file from the bridge. func (bridge *Bridge) GetInfo() error { _, reader, err := bridge.Get("/description.xml") @@ -187,11 +177,24 @@ func (bridge *Bridge) GetInfo() error { return nil } +// Bridge.Login assigns a username to access the bridge with and +// will create the username key if it does not exist. +func (bridge *Bridge) Login(username string) error { + bridge.Username = username + err := bridge.CreateUser(username) + if err != nil { + log.Fatal("Error: Unable to login as user ", username, " ", err) + return err + } + return nil +} + // Bridge.CreateUser posts to ./api on the bridge to create a new whitelisted user. func (bridge *Bridge) CreateUser(deviceType string) error { params := map[string]string{"devicetype": deviceType} body, _, err := bridge.Post("/api", params) if err != nil { + log.Fatal("Error: Unable to create user. ", err) return err } content := string(body) |