package main import ( "net/http" "time" "github.com/VojtechVitek/ratelimit" ) // curl -v http://localhost:3333 func main() { middleware := ratelimit.Throttle(1) http.ListenAndServe(":3333", middleware(http.HandlerFunc(Work))) } func Work(w http.ResponseWriter, r *http.Request) { w.Write([]byte("working hard...\n\n")) if f, ok := w.(http.Flusher); ok { f.Flush() } time.Sleep(10 * time.Second) w.Write([]byte("done")) }