From 3d230717f6927f17adbf29509c1abb1e51329493 Mon Sep 17 00:00:00 2001 From: Sisi Date: Thu, 26 Mar 2026 20:45:28 +0100 Subject: [PATCH] complete logic for login and responses of http functions --- http.go | 46 +++++++++++++++++++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/http.go b/http.go index f6d2c96..73d240c 100644 --- a/http.go +++ b/http.go @@ -75,6 +75,13 @@ func HttpHandleNewUser(response http.ResponseWriter, request *http.Request) { http.Error(response, "name taken", http.StatusUnauthorized) return } + + response.WriteHeader(http.StatusAccepted) + _, err = response.Write([]byte("created")) + if err != nil { + http.Error(response, "internal server error", http.StatusInternalServerError) + return + } } func HttpHandleLogin(response http.ResponseWriter, request *http.Request) { @@ -94,17 +101,33 @@ func HttpHandleLogin(response http.ResponseWriter, request *http.Request) { } var ( - clientId uint32 - err error - ctx = request.Context() + client *Client + err error + ctx = request.Context() ) - clientId, err = CacheGetIdByName(username) + client, err = CacheGetClientByName(username) if err != nil { - clientId, err = DbGetIdByClientName(ctx, username) + err := DbSetClientByName(ctx, client) if err != nil { - + http.Error(response, "bad login", http.StatusBadRequest) + return } + CacheSetClient(client) + } + + token, err := TokenCreate(client.Id) + if err != nil { + http.Error(response, "internal server error", http.StatusInternalServerError) + return + } + + response.WriteHeader(http.StatusAccepted) + _, err = response.Write([]byte(token)) + if err != nil { + CacheDeleteClient(client.Id) + http.Error(response, "internal server error", http.StatusInternalServerError) + return } } @@ -169,7 +192,9 @@ func HttpHandleGroupCreate(response http.ResponseWriter, request *http.Request) } groupIdBytes := make([]byte, 4) binary.BigEndian.PutUint32(groupIdBytes, group.Id) - response.Write(groupIdBytes) + + response.WriteHeader(http.StatusCreated) + response.Write([]byte(groupIdBytes)) } func HttpHandleGroupAddClient(response http.ResponseWriter, request *http.Request) { @@ -241,4 +266,11 @@ func HttpHandleGroupAddClient(response http.ResponseWriter, request *http.Reques http.Error(response, "internal server error", http.StatusInternalServerError) return } + + response.WriteHeader(http.StatusAccepted) + _, err = response.Write([]byte("ok")) + if err != nil { + http.Error(response, "internal server error", http.StatusInternalServerError) + return + } }