From 8c7cfbd9562788d332e3bc79428a4b1d9abf2574 Mon Sep 17 00:00:00 2001 From: Mohammad Mahdi Date: Wed, 14 May 2025 14:55:13 +0330 Subject: [PATCH] Replace fatal error handling with proper error propagation and logging --- cmd/main.go | 3 ++- internal/services/postService.go | 7 +------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/cmd/main.go b/cmd/main.go index e1a789e..1679236 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -24,7 +24,8 @@ func main() { var posts []models.Post = nil err, posts := appContext.PostService.GetPostsFromApi(ctx, appContext.Tag, appContext.Instance) if err != nil { - log.Fatal(err) + log.Println(err) + return } var existingPostIds = appContext.PostService.GetExistingPostIds() diff --git a/internal/services/postService.go b/internal/services/postService.go index ac79a86..23389fe 100644 --- a/internal/services/postService.go +++ b/internal/services/postService.go @@ -5,7 +5,6 @@ import ( "context" "encoding/json" "fmt" - "log" "net/http" "strings" @@ -26,24 +25,20 @@ func (*PostService) GetPostsFromApi(ctx context.Context, tag string, instance st var requestUrl = instance + "/api/v1/timelines/tag/" + tag + "?limit=40" req, err := http.NewRequestWithContext(ctx, "GET", requestUrl, nil) if err != nil { - log.Fatal(err) return err, nil } resp, err := http.DefaultClient.Do(req) if err != nil { - log.Fatal(err) return err, nil } if resp.StatusCode != 200 || strings.Split(strings.ToLower(resp.Header.Get("Content-Type")), ";")[0] != "application/json" { - log.Fatal("Status code:", resp.StatusCode, " Content-Type:", resp.Header.Get("Content-Type")) - return err, nil + return fmt.Errorf("Status code:", resp.StatusCode, " Content-Type:", resp.Header.Get("Content-Type")), nil } var posts []models.Post = nil err = json.NewDecoder(resp.Body).Decode(&posts) if err != nil { - log.Fatal(err) return err, nil } // defer: it basically means "do this later when the function returns"