Replace fatal error handling with proper error propagation and logging
This commit is contained in:
@@ -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()
|
||||||
|
@@ -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"
|
||||||
|
Reference in New Issue
Block a user