Skip to content

cego/go-lib

Repository files navigation

actions license Renovate

Quality Gate Status Maintainability Rating Reliability Rating Security Rating

Coverage Code Smells Duplicated Lines (%)

Using ForwardAuthHandler

mux := http.NewServeMux()
forwardAuth := cego.NewForwardAuth(logger, "https://sso.example.com/auth", "myservice.example.com")

mux.Handle("/data", forwardAuth.Handler(reverseProxy))
mux.Handle("/data", forwardAuth.HandlerFunc(func (w http.ResponseWrite, req *http.Request) {
	_,_ = w.Write()
}))

Using Logger

logger := cego.NewLogger()

logger.Debug("Very nice")

err := error.Error("An error")
logger.Error(err.Error)

handleFunc := func(writer http.ResponseWriter, request *http.Request) {
    logger.Debug("Very nice", cego.GetSlogAttrFromRequest(request))
}

// Setting your logger as the global one
logger := log.NewLogger()
slog.SetDefault(logger)
slog.Debug("Also in ecs format")

Using Renderer

logger := cego.NewLogger()
renderer := cego.NewRenderer(logger)
handleFunc := func(writer http.ResponseWriter, request *http.Request) {
    renderer.Text(w, http.StatusOK, "Action package excitement !!!")
}