From 82a8ce01bde7fe938bba76d422694861f50a702d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleksandar=20Dragojevi=C4=87?= Date: Mon, 31 Mar 2025 09:23:05 +0200 Subject: [PATCH 1/2] API Client timeouts should be int64 due to linux_arm arch target --- httpclient/api_client.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/httpclient/api_client.go b/httpclient/api_client.go index 7b2151717..5b214e1c1 100644 --- a/httpclient/api_client.go +++ b/httpclient/api_client.go @@ -73,10 +73,10 @@ func (cfg ClientConfig) httpTransport() http.RoundTripper { } func NewApiClient(cfg ClientConfig) *ApiClient { - cfg.HTTPTimeout = time.Duration(orDefault(int(cfg.HTTPTimeout), int(30*time.Second))) + cfg.HTTPTimeout = time.Duration(orDefault(int64(cfg.HTTPTimeout), int64(30*time.Second))) cfg.DebugTruncateBytes = orDefault(cfg.DebugTruncateBytes, 96) - cfg.RetryTimeout = time.Duration(orDefault(int(cfg.RetryTimeout), int(5*time.Minute))) - cfg.HTTPTimeout = time.Duration(orDefault(int(cfg.HTTPTimeout), int(30*time.Second))) + cfg.RetryTimeout = time.Duration(orDefault(int64(cfg.RetryTimeout), int64(5*time.Minute))) + cfg.HTTPTimeout = time.Duration(orDefault(int64(cfg.HTTPTimeout), int64(30*time.Second))) if cfg.ErrorMapper == nil { // default generic error mapper cfg.ErrorMapper = DefaultErrorMapper @@ -392,7 +392,7 @@ func (c *ApiClient) perform( return resp, nil } -func orDefault(configured, _default int) int { +func orDefault(configured, _default int64) int64 { if configured == 0 { return _default } From fadf4be73ca60ad02860fbdb41096b52caf8147f Mon Sep 17 00:00:00 2001 From: Aleksandar Dragojevic Date: Thu, 3 Apr 2025 10:48:28 +0200 Subject: [PATCH 2/2] Make orDefault generic to not break other call sites --- httpclient/api_client.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/httpclient/api_client.go b/httpclient/api_client.go index 5b214e1c1..b883c7ef4 100644 --- a/httpclient/api_client.go +++ b/httpclient/api_client.go @@ -392,7 +392,11 @@ func (c *ApiClient) perform( return resp, nil } -func orDefault(configured, _default int64) int64 { +type number interface { + ~int | ~int64 | ~float64 | ~float32 +} + +func orDefault[T number](configured, _default T) T { if configured == 0 { return _default }