aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-02-13 22:58:37 +0800
committerRunxi Yu <me@runxiyu.org>2025-02-13 22:58:37 +0800
commita9d5e405fd9334602c8c74b18558fd0db54a4036 (patch)
treed419865c8663996c46bd407290e834936fc5e78b
parenthttp_handle_*.go: Fix http.Error calls (diff)
downloadforge-a9d5e405fd9334602c8c74b18558fd0db54a4036.tar.gz
forge-a9d5e405fd9334602c8c74b18558fd0db54a4036.tar.zst
forge-a9d5e405fd9334602c8c74b18558fd0db54a4036.zip
http_{server,handle_login}.go: Fix missing error handling
-rw-r--r--http_handle_login.go5
-rw-r--r--http_server.go10
2 files changed, 14 insertions, 1 deletions
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 {