(код без описания)
Условие
Заголовок раздела «Условие»(код без описания)
type RateLimiter struct { // TODO}
func NewRateLimiter(limit int) *RateLimiter { // TODO}
func (rl *RateLimiter) Process(f func()) error { // TODO}
func main() { rl := NewRateLimiter(10) http.HandleFunc("/request ", func(w http.ResponseWriter, r *http.Request) { err := rl.Process(func() {}) if err != nil { w.WriteHeader(http.StatusTooManyRequests) w.Write([]byte("Too many requests ")) } }) http.ListenAndServe(":8080 ", nil)}Решение
Заголовок раздела «Решение»Источник: Eapteka / Еаптека (Сбер Еаптека)
← (код без описания) · Все задачи · Go · (код без описания) →