// popStackHandler extracts the peek element of a Stack, returns 200 and returns it. func (c *Conn) popStackHandler(w http.ResponseWriter, r *http.Request, stack *pila.Stack) { value, ok := stack.Pop() if !ok { log.Println(r.Method, r.URL, http.StatusNoContent) w.WriteHeader(http.StatusNoContent) return } stack.Update(c.opDate) element := pila.Element{Value: value} log.Println(r.Method, r.URL, http.StatusOK, element.Value) w.Header().Set("Content-Type", "application/json") // Do not check error as we consider our element // suitable for a JSON encoding. b, _ := element.ToJSON() w.Write(b) }