From 9be2dd655b765e523e3ec93a0a33736fba15d885 Mon Sep 17 00:00:00 2001 From: Anton Vakhrushev Date: Thu, 29 May 2025 19:09:29 +0300 Subject: [PATCH] Add timeouts --- main.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index 4ddd186..b5fff82 100644 --- a/main.go +++ b/main.go @@ -11,6 +11,11 @@ import ( "time" ) +// HTTP клиент с таймаутом +var httpClient = &http.Client{ + Timeout: 30 * time.Second, +} + func main() { if len(os.Args) != 3 { fmt.Println("Usage: program ") @@ -76,7 +81,7 @@ func fileExtension(url string) string { "image/svg+xml": ".svg", } - resp, err := http.Head(url) + resp, err := httpClient.Head(url) if err == nil { ct := resp.Header.Get("Content-Type") if ext, ok := contentTypes[ct]; ok { @@ -113,7 +118,7 @@ func downloadImage(url, filename string) error { // Одна попытка скачивания func attemptDownload(url, filename string) error { - resp, err := http.Get(url) + resp, err := httpClient.Get(url) if err != nil { return err }