Два бага: 1) cancel не вызван — утечка горутины таймера. Нужно defer cancel(). 2) http.Get не использует ctx — таймаут не применяется. Нужно: req, _ := http.NewRequestWithContext(ctx, "GET", url, nil); resp, err := http.DefaultClient.Do(req). Без context в request, таймаут бесполезен. Линтер contextcheck ловит это.
Найди баг: ctx, cancel := context.WithTimeout(ctx, 5*time.Second); resp, err := http.Get(url)
Middle
133 просмотровAFK Offer AI
Как спроектировать multi-tenant SaaS на Go?