github.com/go-graphite/carbonapi@v0.17.0/cmd/carbonapi/http/lbcheck_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/lomik/zapwriter"
     9  	"go.uber.org/zap"
    10  )
    11  
    12  func lbcheckHandler(w http.ResponseWriter, r *http.Request) {
    13  	t0 := time.Now()
    14  	accessLogger := zapwriter.Logger("access")
    15  
    16  	_, _ = w.Write([]byte("Ok\n"))
    17  
    18  	srcIP, srcPort := splitRemoteAddr(r.RemoteAddr)
    19  
    20  	var accessLogDetails = carbonapipb.AccessLogDetails{
    21  		Handler:  "lbcheck",
    22  		URL:      r.URL.RequestURI(),
    23  		PeerIP:   srcIP,
    24  		PeerPort: srcPort,
    25  		Host:     r.Host,
    26  		Referer:  r.Referer(),
    27  		Runtime:  time.Since(t0).Seconds(),
    28  		HTTPCode: http.StatusOK,
    29  		URI:      r.RequestURI,
    30  	}
    31  	accessLogger.Info("request served", zap.Any("data", accessLogDetails))
    32  }