aboutsummaryrefslogtreecommitdiff
path: root/http_server.go
diff options
context:
space:
mode:
Diffstat (limited to 'http_server.go')
-rw-r--r--http_server.go31
1 files changed, 22 insertions, 9 deletions
diff --git a/http_server.go b/http_server.go
index fbf729b..4d2d77c 100644
--- a/http_server.go
+++ b/http_server.go
@@ -15,11 +15,20 @@ func (router *http_router_t) ServeHTTP(w http.ResponseWriter, r *http.Request) {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
+ non_empty_last_segments_len := len(segments)
+ dir_mode := false
+ if segments[len(segments)-1] == "" {
+ non_empty_last_segments_len--
+ dir_mode = true
+ }
if segments[0] == ":" {
if len(segments) < 2 {
http.Error(w, "Blank system endpoint", http.StatusNotFound)
return
+ } else if len(segments) == 2 && !dir_mode {
+ http.Redirect(w, r, r.URL.Path+"/", http.StatusSeeOther)
+ return
}
switch segments[1] {
@@ -33,6 +42,18 @@ func (router *http_router_t) ServeHTTP(w http.ResponseWriter, r *http.Request) {
return
}
+ params := make(map[string]any)
+ params["global"] = global_data
+ var _user_id int
+ _user_id, params["username"], err = get_user_info_from_request(r)
+ if _user_id == 0 {
+ params["user_id"] = ""
+ } else {
+ params["user_id"] = string(_user_id)
+ }
+
+ fmt.Printf("%#v\n", params)
+
separator_index := -1
for i, part := range segments {
if part == ":" {
@@ -40,18 +61,10 @@ func (router *http_router_t) ServeHTTP(w http.ResponseWriter, r *http.Request) {
break
}
}
- non_empty_last_segments_len := len(segments)
- dir_mode := false
- if segments[len(segments)-1] == "" {
- non_empty_last_segments_len--
- dir_mode = true
- }
- params := make(map[string]string)
- _ = params
switch {
case non_empty_last_segments_len == 0:
- handle_index(w, r)
+ handle_index(w, r, params)
case separator_index == -1:
http.Error(w, "Group indexing hasn't been implemented yet", http.StatusNotImplemented)
case non_empty_last_segments_len == separator_index+1: