From a9d5e405fd9334602c8c74b18558fd0db54a4036 Mon Sep 17 00:00:00 2001 From: Runxi Yu <me@runxiyu.org> Date: Thu, 13 Feb 2025 22:58:37 +0800 Subject: [PATCH] http_{server,handle_login}.go: Fix missing error handling --- http_handle_login.go | 5 +++++ http_server.go | 10 +++++++++- diff --git a/http_handle_login.go b/http_handle_login.go index 2d2dbf6cd86f20a6bc119fe5d417e811dc23a426..0785ecc35dfd9f9eacba9aa3138cc1144b6c10f3 100644 --- a/http_handle_login.go +++ b/http_handle_login.go @@ -57,6 +57,11 @@ return } cookie_value, err := random_urlsafe_string(16) + if err != nil { + http.Error(w, "Error getting random string: "+err.Error(), http.StatusInternalServerError) + return + } + now := time.Now() expiry := now.Add(time.Duration(config.HTTP.CookieExpiry) * time.Second) diff --git a/http_server.go b/http_server.go index 5970cf78682df90b5a9f5fe31e08967257ff6a63..0787ea97467901df354525126634516141ecd421 100644 --- a/http_server.go +++ b/http_server.go @@ -8,6 +8,7 @@ "strconv" "strings" "go.lindenii.runxiyu.org/lindenii-common/clog" + "github.com/jackc/pgx/v5" ) type http_router_t struct{} @@ -48,8 +49,15 @@ } params := make(map[string]any) params["global"] = global_data - var _user_id int + var _user_id int // 0 for none _user_id, params["username"], err = get_user_info_from_request(r) + if errors.Is(err, http.ErrNoCookie) { + } else if errors.Is(err, pgx.ErrNoRows) { + } else if err != nil { + http.Error(w, "Error getting user info from request: "+err.Error(), http.StatusInternalServerError) + return + } + if _user_id == 0 { params["user_id"] = "" } else { -- 2.48.1