From 0d987f5c97cc8c0e205193ef8c67745ac981d5bf Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Thu, 3 Apr 2025 12:36:34 +0200 Subject: Fix login and register --- pkg/utils.go | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'pkg') diff --git a/pkg/utils.go b/pkg/utils.go index f5a443e..9246854 100644 --- a/pkg/utils.go +++ b/pkg/utils.go @@ -1,6 +1,11 @@ package utils -import "golang.org/x/crypto/bcrypt" +import ( + "encoding/json" + "net/http" + + "golang.org/x/crypto/bcrypt" +) func HashPassword(password string) (string, error) { bytes, err := bcrypt.GenerateFromPassword([]byte(password), 14) @@ -11,3 +16,20 @@ func CheckPasswordHash(password, hash string) bool { err := bcrypt.CompareHashAndPassword([]byte(hash), []byte(password)) return err == nil } + +// Set a JSON response with status code 400 +func JsonError(w *http.ResponseWriter, error string) { + payloadMap := map[string]string{"error": error} + + (*w).Header().Set("Content-Type", "application/json") + (*w).WriteHeader(http.StatusBadRequest) + + payload, err := json.Marshal(payloadMap) + + if err != nil { + (*w).WriteHeader(http.StatusBadGateway) + (*w).Write([]byte(err.Error())) + } else { + (*w).Write(payload) + } +} -- cgit v1.2.3-18-g5258