Return more detailed errors in HTTP handlers

This commit is contained in:
Grégoire Delattre 2017-01-09 14:23:54 +01:00
parent 76eaa87fdd
commit bb02782dfb
3 changed files with 9 additions and 8 deletions

View File

@ -2,6 +2,7 @@ package extmedias
import ( import (
"database/sql" "database/sql"
"errors"
"fmt" "fmt"
"net/http" "net/http"
@ -176,13 +177,13 @@ func Explore(env *web.Env, w http.ResponseWriter, r *http.Request) error {
v := auth.GetCurrentUser(r, env.Log) v := auth.GetCurrentUser(r, env.Log)
user, ok := v.(*users.User) user, ok := v.(*users.User)
if !ok { if !ok {
return fmt.Errorf("invalid user type") return env.RenderError(w, errors.New("invalid user"))
} }
// Get the medias without trying to refresh them // Get the medias without trying to refresh them
movies, err := GetMovies(env, user, source, category, false) movies, err := GetMovies(env, user, source, category, false)
if err != nil { if err != nil {
return err return env.RenderError(w, err)
} }
return env.RenderJSON(w, movies) return env.RenderJSON(w, movies)
@ -210,7 +211,7 @@ func ExploreShows(env *web.Env, w http.ResponseWriter, r *http.Request) error {
// Get the medias without trying to refresh them // Get the medias without trying to refresh them
shows, err := GetShows(env, source, category, false) shows, err := GetShows(env, source, category, false)
if err != nil { if err != nil {
return err return env.RenderError(w, err)
} }
return env.RenderJSON(w, shows) return env.RenderJSON(w, shows)
@ -252,7 +253,7 @@ func Refresh(env *web.Env, w http.ResponseWriter, r *http.Request) error {
// GetMedias and refresh them // GetMedias and refresh them
_, err := GetMovies(env, user, source, category, true) _, err := GetMovies(env, user, source, category, true)
if err != nil { if err != nil {
return err return env.RenderError(w, err)
} }
} }
@ -278,7 +279,7 @@ func RefreshShows(env *web.Env, w http.ResponseWriter, r *http.Request) error {
// GetMedias and refresh them // GetMedias and refresh them
_, err := GetShows(env, source, category, true) _, err := GetShows(env, source, category, true)
if err != nil { if err != nil {
return err return env.RenderError(w, err)
} }
} }

View File

@ -134,7 +134,7 @@ func SearchMovie(env *web.Env, w http.ResponseWriter, r *http.Request) error {
} }
err := json.NewDecoder(r.Body).Decode(&data) err := json.NewDecoder(r.Body).Decode(&data)
if err != nil { if err != nil {
return err return env.RenderError(w, errors.New("failed to get the search key"))
} }
if data.Key == "" { if data.Key == "" {
@ -144,7 +144,7 @@ func SearchMovie(env *web.Env, w http.ResponseWriter, r *http.Request) error {
v := auth.GetCurrentUser(r, env.Log) v := auth.GetCurrentUser(r, env.Log)
user, ok := v.(*users.User) user, ok := v.(*users.User)
if !ok { if !ok {
return fmt.Errorf("invalid user type") return env.RenderError(w, errors.New("invalid user"))
} }
var movies []*polochon.Movie var movies []*polochon.Movie

View File

@ -32,7 +32,7 @@ func SearchShow(env *web.Env, w http.ResponseWriter, r *http.Request) error {
Key string `json:"key"` Key string `json:"key"`
} }
if err := json.NewDecoder(r.Body).Decode(&data); err != nil { if err := json.NewDecoder(r.Body).Decode(&data); err != nil {
return err return env.RenderError(w, errors.New("failed to get the search key"))
} }
if data.Key == "" { if data.Key == "" {