From 9e14b7323fd6b07144d6ebe62eb011eb0f317fb1 Mon Sep 17 00:00:00 2001 From: Collin Guarino Date: Sun, 21 Feb 2016 16:19:19 -0500 Subject: Improved error handling for Bridge.Login and Bridge.CreateUser --- bridge.go | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/bridge.go b/bridge.go index f78b8e3..d3d40a3 100644 --- a/bridge.go +++ b/bridge.go @@ -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) -- cgit v1.2.3