diff --git a/cmd/main.go b/cmd/main.go index d46d3fa..0b1b3a3 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -58,12 +58,15 @@ func main() { } profiles, err := gravatar_recon.GetGravatarProfiles(email) - if err != nil { + if err != nil || profiles == nil { log.Fatal("Failed to get Gravatar profile", "err", err) } if !*silent { utils.Header() + if len(*profiles) == 0 { + utils.PrintNoResultFound() + } for _, profile := range *profiles { utils.PrintTitle(profile.PreferredUser + ":") if *printAvatar { diff --git a/main.go b/main.go index 645f21b..cc0e692 100644 --- a/main.go +++ b/main.go @@ -91,6 +91,10 @@ func GetGravatarProfiles(email string) (*[]GravatarProfile, error) { } defer resp.Body.Close() + if resp.StatusCode == 404 { + return &[]GravatarProfile{}, nil + } + if resp.StatusCode != 200 { return nil, fmt.Errorf("no gravatar profile found (status %d)", resp.StatusCode) } diff --git a/utils/print.go b/utils/print.go index a23454b..4859e9f 100644 --- a/utils/print.go +++ b/utils/print.go @@ -133,6 +133,10 @@ func PrintTitle(title string) { fmt.Println(titleStyle.Render(title) + "\n") } +func PrintNoResultFound() { + fmt.Println(titleStyle.Render("No result found")) +} + func PrintAvatar(url string) { if url == "" { return