go__limiter_demo/main.go
Frederic G. MARAND b0953dd36e Basic demo.
2022-03-11 09:51:49 +01:00

28 lines
422 B
Go

package main
import (
"log"
"net/http"
"golang.org/x/time/rate"
)
const Addr = ":4000"
func okHandler(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("ok"))
}
func main() {
const (
TokenBurst = 1
RPSLimit = 3
)
l := rate.NewLimiter(RPSLimit, TokenBurst)
mux := http.NewServeMux()
mux.HandleFunc("/", okHandler)
log.Println("Listening on ", Addr)
http.ListenAndServe(Addr, limit(l, mux))
}