func()

in metrics.go [144:166]


func (mh MetricsHandler) handleMetricsSave(w http.ResponseWriter, r *http.Request) {
	if r.Body == nil {
		w.WriteHeader(http.StatusBadRequest)
		writeError(w, "no response body", errors.New("nil body"))
		return
	}

	decoder := json.NewDecoder(r.Body)
	m := new(Metric)
	if err := decoder.Decode(m); err != nil {
		w.WriteHeader(http.StatusBadRequest)
		writeError(w, "unable to decode body", err)
		return
	}
	log.Printf("Recording metric %v", m)

	if err := mh.RecordMetric(m); err != nil {
		w.WriteHeader(http.StatusBadRequest)
		writeError(w, "error recording metric", err)
	} else {
		respondWithMetric(w, *m)
	}
}