Replace fatal error handling with proper error propagation and logging

This commit is contained in:
2025-05-14 14:55:13 +03:30
parent a9dc376409
commit 8c7cfbd956
2 changed files with 3 additions and 7 deletions

View File

@@ -24,7 +24,8 @@ func main() {
var posts []models.Post = nil var posts []models.Post = nil
err, posts := appContext.PostService.GetPostsFromApi(ctx, appContext.Tag, appContext.Instance) err, posts := appContext.PostService.GetPostsFromApi(ctx, appContext.Tag, appContext.Instance)
if err != nil { if err != nil {
log.Fatal(err) log.Println(err)
return
} }
var existingPostIds = appContext.PostService.GetExistingPostIds() var existingPostIds = appContext.PostService.GetExistingPostIds()

View File

@@ -5,7 +5,6 @@ import (
"context" "context"
"encoding/json" "encoding/json"
"fmt" "fmt"
"log"
"net/http" "net/http"
"strings" "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" var requestUrl = instance + "/api/v1/timelines/tag/" + tag + "?limit=40"
req, err := http.NewRequestWithContext(ctx, "GET", requestUrl, nil) req, err := http.NewRequestWithContext(ctx, "GET", requestUrl, nil)
if err != nil { if err != nil {
log.Fatal(err)
return err, nil return err, nil
} }
resp, err := http.DefaultClient.Do(req) resp, err := http.DefaultClient.Do(req)
if err != nil { if err != nil {
log.Fatal(err)
return err, nil return err, nil
} }
if resp.StatusCode != 200 || strings.Split(strings.ToLower(resp.Header.Get("Content-Type")), ";")[0] != "application/json" { 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 fmt.Errorf("Status code:", resp.StatusCode, " Content-Type:", resp.Header.Get("Content-Type")), nil
return err, nil
} }
var posts []models.Post = nil var posts []models.Post = nil
err = json.NewDecoder(resp.Body).Decode(&posts) err = json.NewDecoder(resp.Body).Decode(&posts)
if err != nil { if err != nil {
log.Fatal(err)
return err, nil return err, nil
} }
// defer: it basically means "do this later when the function returns" // defer: it basically means "do this later when the function returns"