socialnetworknews-api

git clone git://archive.git.mtrnord.blog/SocialNetworkNews/socialnetworknews-api.git
Log | Files | Refs | LICENSE

commit fa033ca7d1d34b96996ce5c7a93548cc85a026d6
parent d30bb9eb6e7b0fb19df0cfec7245cb5132048b69
Author: MTRNord <mtrnord1@gmail.com>
Date:   Tue,  3 Apr 2018 18:56:02 +0200

Add more error context messages

Diffstat:
Mapi/webserver.go | 48+++++++++++++++++++++++++++++-------------------
1 file changed, 29 insertions(+), 19 deletions(-)

diff --git a/api/webserver.go b/api/webserver.go @@ -87,7 +87,7 @@ func Papers(w http.ResponseWriter, r *http.Request) { var t []Paper err := decoder.Decode(&t) if err != nil { - decodeErr := errors.WithMessage(err, "Decoding") + decodeErr := errors.WithMessage(err, "Decoding JSON Body") http.Error(w, decodeErr.Error(), http.StatusInternalServerError) return } @@ -95,7 +95,7 @@ func Papers(w http.ResponseWriter, r *http.Request) { papers, err := addPapers(t) if err != nil { - addErr := errors.WithMessage(err, "Adding") + addErr := errors.WithMessage(err, "Adding Papers") http.Error(w, addErr.Error(), http.StatusInternalServerError) return } @@ -161,7 +161,8 @@ func getAuthorData(id string) (*Author, error) { func addPapers(data []Paper) ([]byte, error) { papersDB, openErr := db.OpenDB() if openErr != nil { - return nil, openErr + dbErr := errors.WithMessage(openErr, "Opening DB") + return nil, dbErr } var papers []Paper @@ -169,7 +170,8 @@ func addPapers(data []Paper) ([]byte, error) { for _, p := range data { puuid, UUIDerr := uuid.NewV4() if UUIDerr != nil { - return nil, UUIDerr + uuidErr := errors.WithMessage(UUIDerr, "Generating UUID") + return nil, uuidErr } newUUID := puuid.String() newName := p.Name @@ -177,25 +179,31 @@ func addPapers(data []Paper) ([]byte, error) { newAuthor := p.Author.UUID newPIMG := p.PaperImage - DBErr := papersDB.Update(func(txn *badger.Txn) error { - nameErr := txn.Set([]byte(fmt.Sprintf("papers|paper|%s|name", newUUID)), []byte(newName)) - if nameErr != nil { + DBErrR := papersDB.Update(func(txn *badger.Txn) error { + nameErrR := txn.Set([]byte(fmt.Sprintf("papers|paper|%s|name", newUUID)), []byte(newName)) + if nameErrR != nil { + nameErr := errors.WithMessage(nameErrR, fmt.Sprintf("papers|paper|%s|name", newUUID)) return nameErr } - descErr := txn.Set([]byte(fmt.Sprintf("papers|paper|%s|description", newUUID)), []byte(newDesc)) - if descErr != nil { + descErrR := txn.Set([]byte(fmt.Sprintf("papers|paper|%s|description", newUUID)), []byte(newDesc)) + if descErrR != nil { + descErr := errors.WithMessage(descErrR, fmt.Sprintf("papers|paper|%s|description", newUUID)) return descErr } - pIMGErr := txn.Set([]byte(fmt.Sprintf("papers|paper|%s|image", newUUID)), []byte(newPIMG)) - if pIMGErr != nil { + pIMGErrR := txn.Set([]byte(fmt.Sprintf("papers|paper|%s|image", newUUID)), []byte(newPIMG)) + if pIMGErrR != nil { + pIMGErr := errors.WithMessage(pIMGErrR, fmt.Sprintf("papers|paper|%s|image", newUUID)) return pIMGErr } - return txn.Set([]byte(fmt.Sprintf("papers|paper|%s|author", newUUID)), []byte(newAuthor)) + authorErrR := txn.Set([]byte(fmt.Sprintf("papers|paper|%s|author", newUUID)), []byte(newAuthor)) + + return errors.WithMessage(authorErrR, fmt.Sprintf("papers|paper|%s|author", newUUID)) }) - if DBErr != nil { + if DBErrR != nil { + DBErr := errors.WithMessage(DBErrR, "Database Request") return nil, DBErr } @@ -203,18 +211,20 @@ func addPapers(data []Paper) ([]byte, error) { paper.UUID = newUUID paper.Name = newName paper.PaperImage = newPIMG - author, err := getAuthorData(newAuthor) - if err != nil { - return nil, err + author, AuthorDataErrR := getAuthorData(newAuthor) + if AuthorDataErrR != nil { + AuthorDataErr := errors.WithMessage(AuthorDataErrR, "Author Data Request") + return nil, AuthorDataErr } paper.Author = *author papers = append(papers, paper) } - papersArray, err := json.Marshal(papers) - if err != nil { - return nil, err + papersArray, MErrR := json.Marshal(papers) + if MErrR != nil { + MErr := errors.WithMessage(MErrR, "Encoding Papers Data") + return nil, MErr } return papersArray, nil