package handler import ( "encoding/json" "github.com/gorilla/mux" "net/http" ) func (h *Handler) showUserView(w http.ResponseWriter, r *http.Request) { user := mux.Vars(r)["user"] if !h.storage.UserExists(user) { notFound(w) return } statuses, err := h.storage.StatusByUsername(mux.Vars(r)["user"], 20, 0) if err != nil { serverError(w, err) return } h.renderLayout(w, "user", map[string]interface{}{ "user": user, "statuses": statuses, }, "") } type statusjson struct { Author string `json:"author"` Content string `json:"content"` TimeAgo string `json:"time_ago"` } func (h *Handler) showUserStatusView(w http.ResponseWriter, r *http.Request) { user := mux.Vars(r)["user"] if !h.storage.UserExists(user) { notFound(w) return } statuses, err := h.storage.StatusByUsername(mux.Vars(r)["user"], 1, 0) if err != nil { serverError(w, err) return } w.Header().Set("Access-Control-Allow-Origin", "*") w.Header().Set("Content-Type", "application/json") var res statusjson if len(statuses) > 0 { res.Author = statuses[0].User res.Content = statuses[0].Content res.TimeAgo = statuses[0].TimeAgo() } json.NewEncoder(w).Encode(res) }