package routes import ( "encoding/json" "gitea.deepak.science/deepak/gogmagog/models" "github.com/go-chi/chi" "net/http" ) func newUserRouter(m *models.Model) http.Handler { router := chi.NewRouter() // router.Post("/", postUserFunc(m)) router.Get("/{username}", getUserByUsernameFunc(m)) return router } func getUserByUsernameFunc(m *models.Model) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { username := chi.URLParam(r, "username") user, err := m.UserByUsername(username) if err != nil { if models.IsNotFoundError(err) { notFoundHandler(w, r) return } serverError(w, err) return } w.Header().Add("Content-Type", "application/json") if err := json.NewEncoder(w).Encode(user); err != nil { serverError(w, err) } } }