func (h listHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) { query := req.URL.Query() pageNum := common.ParseInt(query.Get("page"), 1) perPage := common.ParseInt(query.Get("results-per-page"), 10) page := domain.NewPage(h.organizations, req.URL.Path, pageNum, perPage) response, err := json.Marshal(page) if err != nil { panic(err) } w.WriteHeader(http.StatusOK) w.Write(response) }
func (h getManagersHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) { r := regexp.MustCompile(`^/v2/organizations/(.*)/managers$`) matches := r.FindStringSubmatch(req.URL.Path) query := req.URL.Query() pageNum := common.ParseInt(query.Get("page"), 1) perPage := common.ParseInt(query.Get("results-per-page"), 10) org, ok := h.organizations.Get(matches[1]) if !ok { common.NotFound(w) return } page := domain.NewPage(org.Managers, req.URL.Path, pageNum, perPage) response, err := json.Marshal(page) if err != nil { panic(err) } w.WriteHeader(http.StatusOK) w.Write(response) }