qps-middleware
qps-middleware for go http package.
example
define some routes with gorilla middlware (cors, logger, etc.) and qps middleware:
package main
import (
"log"
"net/http"
"github.com/gorilla/handlers"
"github.com/gorilla/mux"
"github.com/streamrail/qps-middleware"
)
func main() {
r := mux.NewRouter()
r.Path("/someHandler").HandlerFunc(someHandler).Methods("GET")
loggedRouter := handlers.CombinedLoggingHandler(os.Stdout, r)
qpsRouter := qps.QPSHandler()(loggedRouter)
finalHandler := handlers.CompressHandler(qpsRouter)
http.Handle("/", finalHandler)
log.Fatalf(http.ListenAndServe(":8080", nil).Error())
}
func someHandler(rw http.ResponseWriter, req *http.Request) {
//Handle Something
}
License
MIT (see LICENSE.txt file)