aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 {