Simple example/skeleton code for writing a middleware handler.
package moose import ( "log" "net/http" ) type Middleware struct { moose bool } // Middleware is a struct that has a ServeHTTP method func NewMiddleware() *Middleware { return &Middleware{true} } // The middleware handler func (l *Middleware) ServeHTTP(w http.ResponseWriter, req *http.Request, next http.HandlerFunc) { // Log moose status log.Printf("MOOSE: %v\n", l.moose) // Call the next middleware handler next(w, req) }
package main import ( "fmt" "net/http" "github.com/urfave/negroni" "github.com/xyproto/mooseware" ) func main() { mux := http.NewServeMux() mux.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) { fmt.Fprint(w, "Bafflesnark!") }) n := negroni.Classic() // Moose status n.Use(moose.NewMiddleware()) // Handler goes last n.UseHandler(mux) // Serve n.Run(":3000") }
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4