From d9ff6830da56be6f0cd0874685cef759855c63ca Mon Sep 17 00:00:00 2001 From: Gregory Oschwald Date: Mon, 11 Nov 2024 09:39:27 -0800 Subject: [PATCH] Don't mix receiver type --- client/client.go | 2 ++ internal/geoipupdate/database/reader.go | 8 ++++++-- internal/geoipupdate/geoip_updater_test.go | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/client/client.go b/client/client.go index 3c55397..2ff2561 100644 --- a/client/client.go +++ b/client/client.go @@ -10,6 +10,8 @@ import ( // Client downloads GeoIP2 and GeoLite2 MMDB databases. // // After creation, it is valid for concurrent use. +// +//nolint:recvcheck // changing this would be a breaking change. type Client struct { accountID int endpoint string diff --git a/internal/geoipupdate/database/reader.go b/internal/geoipupdate/database/reader.go index b55ba76..c269a7b 100644 --- a/internal/geoipupdate/database/reader.go +++ b/internal/geoipupdate/database/reader.go @@ -23,14 +23,18 @@ type ReadResult struct { } // MarshalJSON is a custom json marshaler that strips out zero time fields. -func (r ReadResult) MarshalJSON() ([]byte, error) { +func (r *ReadResult) MarshalJSON() ([]byte, error) { + if r == nil { + return []byte("null"), nil + } + type partialResult ReadResult s := &struct { partialResult ModifiedAt int64 `json:"modified_at,omitempty"` CheckedAt int64 `json:"checked_at,omitempty"` }{ - partialResult: partialResult(r), + partialResult: partialResult(*r), ModifiedAt: 0, CheckedAt: 0, } diff --git a/internal/geoipupdate/geoip_updater_test.go b/internal/geoipupdate/geoip_updater_test.go index 44dfcf8..09784aa 100644 --- a/internal/geoipupdate/geoip_updater_test.go +++ b/internal/geoipupdate/geoip_updater_test.go @@ -283,7 +283,7 @@ func (w *mockWriter) Write( return nil } -func (w mockWriter) GetHash(editionID string) (string, error) { +func (w *mockWriter) GetHash(editionID string) (string, error) { return w.md5s[editionID], nil }