diff --git a/CHANGELOG.md b/CHANGELOG.md index 42bc3ee..07e9624 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,9 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.0.1] - 2024-07-26 +### Fixed +- better error handling when API responds with an error ## [1.0.0] - 2024-07-26 First release of `mailcow-admin-aliases` -[unreleased]: https://code.lila.network/adoralaura/mailcow-admin-aliases/compare/1.0.0...HEAD +[unreleased]: https://code.lila.network/adoralaura/mailcow-admin-aliases/compare/1.0.1...HEAD +[1.0.1]: https://code.lila.network/adoralaura/mailcow-admin-aliases/compare/1.0.0...1.0.1 [1.0.0]: https://code.lila.network/adoralaura/mailcow-admin-aliases/releases/tag/1.0.0 diff --git a/internal/mailcow/aliases.go b/internal/mailcow/aliases.go index 4ee5304..2efc306 100644 --- a/internal/mailcow/aliases.go +++ b/internal/mailcow/aliases.go @@ -7,6 +7,7 @@ import ( "io" "log/slog" "net/http" + "os" "time" "code.lila.network/adoralaura/mailcow-admin-aliases/internal/configuration" @@ -64,6 +65,11 @@ func LoadAliases(cfg configuration.Config) ([]MailcowAlias, []string, error) { slog.Debug("alias response received", "status", res.Status, "status-code", res.StatusCode) + if res.StatusCode != 200 { + slog.Error("API request unsuccessful", "status", res.Status, "status-code", res.StatusCode) + os.Exit(1) + } + body, err := io.ReadAll(res.Body) if err != nil { return []MailcowAlias{}, []string{}, fmt.Errorf("failed to read alias request body: %w", err) diff --git a/internal/mailcow/domains.go b/internal/mailcow/domains.go index 19f6747..635c31c 100644 --- a/internal/mailcow/domains.go +++ b/internal/mailcow/domains.go @@ -6,6 +6,7 @@ import ( "io" "log/slog" "net/http" + "os" "time" "code.lila.network/adoralaura/mailcow-admin-aliases/internal/configuration" @@ -37,6 +38,11 @@ func LoadDomains(cfg configuration.Config) ([]MailcowDomain, error) { } defer res.Body.Close() + if res.StatusCode != 200 { + slog.Error("API request unsuccessful", "status", res.Status, "status-code", res.StatusCode) + os.Exit(1) + } + slog.Debug("domain response received", "status", res.Status, "status-code", res.StatusCode) body, err := io.ReadAll(res.Body)