MCPcopy Create free account
hub / github.com/boringproxy/boringproxy / handleUsers

Method handleUsers

ui_handler.go:605–648  ·  view source on GitHub ↗
(w http.ResponseWriter, r *http.Request, tokenData TokenData, user User)

Source from the content-addressed store, hash-verified

603}
604
605func (h *WebUiHandler) handleUsers(w http.ResponseWriter, r *http.Request, tokenData TokenData, user User) {
606
607 r.ParseForm()
608
609 switch r.Method {
610 case "GET":
611 var users map[string]User
612
613 // TODO: handle security checks in api
614 if user.IsAdmin {
615 users = h.db.GetUsers()
616 } else {
617 users = make(map[string]User)
618 users[tokenData.Owner] = user
619 }
620
621 templateData := struct {
622 User User
623 Users map[string]User
624 }{
625 User: user,
626 Users: users,
627 }
628
629 err := h.tmpl.ExecuteTemplate(w, "users.tmpl", templateData)
630 if err != nil {
631 w.WriteHeader(500)
632 io.WriteString(w, err.Error())
633 return
634 }
635 case "POST":
636 err := h.api.CreateUser(tokenData, r.Form)
637 if err != nil {
638 w.WriteHeader(500)
639 h.alertDialog(w, r, err.Error(), "/users")
640 return
641 }
642
643 http.Redirect(w, r, "/users", 303)
644 default:
645 w.WriteHeader(405)
646 h.alertDialog(w, r, "Invalid method for users", "/users")
647 }
648}
649
650func (h *WebUiHandler) confirmDeleteUser(w http.ResponseWriter, r *http.Request) {
651

Callers 1

handleWebUiRequestMethod · 0.95

Calls 3

alertDialogMethod · 0.95
CreateUserMethod · 0.80
GetUsersMethod · 0.45

Tested by

no test coverage detected