summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Manuel <nilslice@gmail.com>2016-12-02 11:45:50 -0800
committerSteve Manuel <nilslice@gmail.com>2016-12-02 11:45:50 -0800
commit4d55e16ecf722008b5bc47af8bfe432a6598a071 (patch)
tree8c0d51127181394d977a8f41fed6d84d3ad5bc21
parent205428767901dbf6b8e4fac07b05772e60bcea7e (diff)
updating errors and adding user-facing feedback
-rw-r--r--system/admin/handlers.go30
1 files changed, 22 insertions, 8 deletions
diff --git a/system/admin/handlers.go b/system/admin/handlers.go
index c3d8f98..0a6218c 100644
--- a/system/admin/handlers.go
+++ b/system/admin/handlers.go
@@ -656,8 +656,10 @@ func recoveryKeyHandler(res http.ResponseWriter, req *http.Request) {
case http.MethodPost:
err := req.ParseMultipartForm(1024 * 1024 * 4) // maxMemory 4MB
if err != nil {
- res.WriteHeader(http.StatusInternalServerError)
log.Println("Error parsing recovery key form:", err)
+
+ res.WriteHeader(http.StatusInternalServerError)
+ res.Write([]byte("Error, please go back and try again."))
return
}
@@ -666,16 +668,20 @@ func recoveryKeyHandler(res http.ResponseWriter, req *http.Request) {
key := req.FormValue("key")
var actual string
- if actual, err = db.RecoveryKey(email); err != nil {
- res.WriteHeader(http.StatusInternalServerError)
+ if actual, err = db.RecoveryKey(email); err != nil || actual == "" {
log.Println("Error getting recovery key from database:", err)
+
+ res.WriteHeader(http.StatusInternalServerError)
+ res.Write([]byte("Error, please go back and try again."))
return
}
if key != actual {
- res.WriteHeader(http.StatusBadRequest)
log.Println("Bad recovery key submitted:", key)
log.Println("Actual:", actual)
+
+ res.WriteHeader(http.StatusBadRequest)
+ res.Write([]byte("Error, please go back and try again."))
return
}
@@ -683,21 +689,27 @@ func recoveryKeyHandler(res http.ResponseWriter, req *http.Request) {
usr := &user.User{}
u, err := db.User(email)
if err != nil {
- res.WriteHeader(http.StatusInternalServerError)
log.Println("Error finding user by email:", email, err)
+
+ res.WriteHeader(http.StatusInternalServerError)
+ res.Write([]byte("Error, please go back and try again."))
return
}
if u == nil {
- res.WriteHeader(http.StatusBadRequest)
log.Println("No user found with email:", email)
+
+ res.WriteHeader(http.StatusBadRequest)
+ res.Write([]byte("Error, please go back and try again."))
return
}
err = json.Unmarshal(u, usr)
if err != nil {
- res.WriteHeader(http.StatusInternalServerError)
log.Println("Error decoding user from database:", err)
+
+ res.WriteHeader(http.StatusInternalServerError)
+ res.Write([]byte("Error, please go back and try again."))
return
}
@@ -710,8 +722,10 @@ func recoveryKeyHandler(res http.ResponseWriter, req *http.Request) {
err = db.UpdateUser(usr, update)
if err != nil {
- res.WriteHeader(http.StatusInternalServerError)
log.Println("Error updating user:", err)
+
+ res.WriteHeader(http.StatusInternalServerError)
+ res.Write([]byte("Error, please go back and try again."))
return
}