From a9d5e405fd9334602c8c74b18558fd0db54a4036 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Thu, 13 Feb 2025 22:58:37 +0800 Subject: http_{server,handle_login}.go: Fix missing error handling --- http_handle_login.go | 5 +++++ http_server.go | 10 +++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/http_handle_login.go b/http_handle_login.go index 2d2dbf6..0785ecc 100644 --- a/http_handle_login.go +++ b/http_handle_login.go @@ -57,6 +57,11 @@ func handle_login(w http.ResponseWriter, r *http.Request, params map[string]any) } 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 5970cf7..0787ea9 100644 --- a/http_server.go +++ b/http_server.go @@ -8,6 +8,7 @@ import ( "strings" "go.lindenii.runxiyu.org/lindenii-common/clog" + "github.com/jackc/pgx/v5" ) type http_router_t struct{} @@ -48,8 +49,15 @@ func (router *http_router_t) ServeHTTP(w http.ResponseWriter, r *http.Request) { 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 { -- cgit v1.2.3