Treblle with Go standard library
Introduction
Section titled “Introduction”Trebble middleware for Go works with applications based on net/http.
Installation
Section titled “Installation”Trebble uses Go Modules to manage dependencies.
go get github.com/treblle/treblle-goBasic configuration
Section titled “Basic configuration”Configure Treblle at the start of your main() function:
import "github.com/treblle/treblle-go"
func main() { treblle.Configure(treblle.Configuration{ APIKey: "YOUR API KEY HERE", ProjectID: "YOUR PROJECT ID HERE", AdditionalFieldsToMask: []string{"password", "card_number"}, // optional, specify additional fields to mask }
// rest of your program.}After that, just use the middleware with any of your handlers:
mux := http.NewServeMux()mux.Handle("/", treblle.Middleware(http.HandlerFunc(yourHandler)))gorilla/mux
Section titled “gorilla/mux”To setup the treblle.Middleware in gorilla/mux, you can use it as a global middleware:
r := mux.NewRouter()r.Use(treblle.Middleware)per-route
Section titled “per-route”You can also use treblle.Middleware as a per-route middleware just like you will use it with net/http:
r := mux.NewRouter()r.Handle("/", treblle.Middleware(http.HandlerFunc(yourHandler)))Subroutes
Section titled “Subroutes”You can also use treblle.Middleware on gorilla/mux subroutes:
r := mux.NewRouter()
apiRouter := r.PathPrefix("/api").Subrouter()
apiRouter.Use(treblle.Middleware) // Set as a middleware for this subroute
apiRouter.HandleFunc("/users", yourHandler)