From 9134e0d9e7dab3e55243d6a9ed400dfa3d25c7bf Mon Sep 17 00:00:00 2001 From: Guillaume Horel Date: Sun, 20 Aug 2017 18:27:43 -0400 Subject: better error handling --- modern.go | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) (limited to 'modern.go') diff --git a/modern.go b/modern.go index 47b3a1d..019c2c3 100644 --- a/modern.go +++ b/modern.go @@ -7,6 +7,7 @@ import ( "encoding/xml" "errors" "fmt" + "log" "net/http" "strings" "time" @@ -17,6 +18,7 @@ type Api interface { AuthGetSession(*http.Request) (ApiResponse, error) AuthGetMobileSession(*http.Request) (ApiResponse, error) TrackScrobble(*http.Request) (ApiResponse, error) + UpdateNowPlaying(*http.Request) (ApiResponse, error) } type ApiResponse interface { @@ -149,13 +151,25 @@ func (store *SqlStore) AuthGetSession(r *http.Request) (ApiResponse, error) { func (store *SqlStore) TrackScrobble(r *http.Request) (ApiResponse, error) { if session, err := store.GetSession(r.FormValue("sk")); err != nil { - fmt.Printf("%v\n", err) return nil, err } else { scrobbles, ignored := parseScrobbles(r.Form, session) - store.PutScrobbles(scrobbles) - return Scrobbles{Scrobbles: scrobbles, - Attrs: Attrs{len(scrobbles), ignored}}, nil + if err := store.PutScrobbles(scrobbles); err != nil { + return nil, err + } else { + return Scrobbles{Scrobbles: scrobbles, + Attrs: Attrs{len(scrobbles), ignored}}, nil + } + } +} + +func (store *SqlStore) UpdateNowPlaying(r *http.Request) (ApiResponse, error) { + if session, err := store.GetSession(r.FormValue("sk")); err != nil { + return nil, err + } else { + fmt.Println("TODO") + fmt.Printf("%v", session) + return nil, nil } } @@ -166,18 +180,17 @@ func (app *App) ApiHandler(w http.ResponseWriter, r *http.Request) { switch strings.ToLower(method) { case "auth.gettoken": response, err = app.AuthGetToken(r) - if err != nil { - fmt.Printf("%v\n", err) - } case "auth.getsession": response, err = app.AuthGetSession(r) case "auth.getmobilesession": response, err = app.AuthGetMobileSession(r) case "track.scrobble": response, err = app.TrackScrobble(r) - if err != nil { - fmt.Printf("%v\n", err) - } + case "update.nowplaying": + response, err = app.UpdateNowPlaying(r) + } + if err != nil { + log.Println("%v", err) } var text []byte switch r.FormValue("format") { -- cgit v1.2.3-70-g09d2