From 05891fd731253f1400d7997177d7abdc1d310693 Mon Sep 17 00:00:00 2001 From: Daniel Bornkessel Date: Thu, 3 Jan 2013 18:44:50 +0100 Subject: [PATCH] Remove explicit WriteHeader call to have correct content type According to the documentation: // WriteHeader sends an HTTP response header with status code. // If WriteHeader is not called explicitly, the first call to Write // will trigger an implicit WriteHeader(http.StatusOK). // Thus explicit calls to WriteHeader are mainly used to // send error codes. and // Header returns the header map that will be sent by WriteHeader. // Changing the header after a call to WriteHeader (or Write) has // no effect. so calling `w.Header().Set(contentType, jsonContentType)` after calling `w.WriteHeader` does not set the content type -- the call can be removed though as it always set `http.StatusOK` which will be done anyways --- registry.go | 1 - 1 file changed, 1 deletion(-) diff --git a/registry.go b/registry.go index 5af343a..45cdbae 100644 --- a/registry.go +++ b/registry.go @@ -128,7 +128,6 @@ func (registry *Registry) YieldExporter() http.HandlerFunc { url := r.URL if strings.HasSuffix(url.Path, jsonSuffix) { - w.WriteHeader(http.StatusOK) w.Header().Set(contentType, jsonContentType) composite := make(map[string]interface{}, len(registry.NameToMetric)) for name, metric := range registry.NameToMetric {