moneygo/internal/handlers/errors.go

38 lines
684 B
Go

package handlers
import (
"encoding/json"
"log"
"net/http"
)
type Error struct {
ErrorId int
ErrorString string
}
var error_codes = map[int]string{
1: "Not Signed In",
2: "Unauthorized Access",
3: "Invalid Request",
4: "User Exists",
// 5: "Connection Failed", //reserved for client-side error
6: "Import Error",
999: "Internal Error",
}
func WriteError(w http.ResponseWriter, error_code int) {
msg, ok := error_codes[error_code]
if !ok {
log.Printf("Error: WriteError received error code of %d", error_code)
msg = error_codes[999]
}
e := Error{error_code, msg}
enc := json.NewEncoder(w)
err := enc.Encode(e)
if err != nil {
log.Fatal(err)
}
}