package http import "time" type RateLimiter struct { ticker *time.Ticker } func NewRateLimiter(rateLimitPerMinute int) *RateLimiter { return &RateLimiter{ ticker: time.NewTicker(time.Minute / time.Duration(rateLimitPerMinute)), } } func (r *RateLimiter) Wait() { <-r.ticker.C }