Documentation ¶
Overview ¶
Package negroni is a helper package to get a negroni compatible handler/middleware from the standatd net/http Middleware factory (from github.com/slok/go-prometheus-middleware).
Example (NegroniMiddleware) ¶
NegroniMiddleware shows how you would create a default middleware factory and use it to create a Negroni compatible middleware.
package main import ( "log" "net/http" "github.com/prometheus/client_golang/prometheus/promhttp" prommiddleware "github.com/slok/go-prometheus-middleware" promnegroni "github.com/slok/go-prometheus-middleware/negroni" "github.com/urfave/negroni" ) func main() { // Create our handler. myHandler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) w.Write([]byte("hello world!")) }) // Create our negroni instance. n := negroni.Classic() // Create our middleware factory with the default settings. mdlw := prommiddleware.NewDefault() // Add the middleware to negroni. n.Use(promnegroni.Handler("", mdlw)) // Finally set our router on negroni. n.UseHandler(myHandler) // Serve metrics from the default prometheus registry. log.Printf("serving metrics at: %s", ":8081") go http.ListenAndServe(":8081", promhttp.Handler()) // Serve our handler. log.Printf("listening at: %s", ":8080") if err := http.ListenAndServe(":8080", n); err != nil { log.Panicf("error while serving: %s", err) } }
Output:
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Handler ¶
func Handler(handlerID string, m prommiddleware.Middleware) negroni.Handler
Handler returns a Negroni compatible middleware from a Middleware factory instance. The first handlerID argument is the same argument passed on Middleware.Handler method.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.