github.com/go-graphite/carbonapi@v0.17.0/cmd/carbonapi/http/version_handler.go (about) 1 package http 2 3 import ( 4 "net/http" 5 "time" 6 7 "github.com/go-graphite/carbonapi/carbonapipb" 8 "github.com/go-graphite/carbonapi/cmd/carbonapi/config" 9 "github.com/lomik/zapwriter" 10 "go.uber.org/zap" 11 ) 12 13 func versionHandler(w http.ResponseWriter, r *http.Request) { 14 t0 := time.Now() 15 accessLogger := zapwriter.Logger("access") 16 17 if config.Config.GraphiteWeb09Compatibility { 18 _, _ = w.Write([]byte("0.9.15\n")) 19 } else { 20 _, _ = w.Write([]byte("1.1.0\n")) 21 } 22 23 srcIP, srcPort := splitRemoteAddr(r.RemoteAddr) 24 var accessLogDetails = carbonapipb.AccessLogDetails{ 25 Handler: "version", 26 URL: r.URL.RequestURI(), 27 PeerIP: srcIP, 28 PeerPort: srcPort, 29 Host: r.Host, 30 Referer: r.Referer(), 31 Runtime: time.Since(t0).Seconds(), 32 HTTPCode: http.StatusOK, 33 URI: r.RequestURI, 34 } 35 accessLogger.Info("request served", zap.Any("data", accessLogDetails)) 36 }