From d2141541a42077865f2739c206d348e862b48570 Mon Sep 17 00:00:00 2001 From: LaszloP <7979773+lpusok@users.noreply.github.com> Date: Mon, 16 Mar 2026 14:16:40 +0100 Subject: [PATCH] fix: Return response error, in case of 403 status --- .../devportalclient/appstoreconnect/appstoreconnect.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/autocodesign/devportalclient/appstoreconnect/appstoreconnect.go b/autocodesign/devportalclient/appstoreconnect/appstoreconnect.go index 604a1eba..192e6bc9 100644 --- a/autocodesign/devportalclient/appstoreconnect/appstoreconnect.go +++ b/autocodesign/devportalclient/appstoreconnect/appstoreconnect.go @@ -99,12 +99,15 @@ func NewRetryableHTTPClient(logger log.Logger, tracker Tracker) *http.Client { if resp != nil && resp.StatusCode == http.StatusForbidden { var apiError *ErrorResponse - if ok := errors.As(checkResponse(logger, resp), &apiError); ok { + respErr := checkResponse(logger, resp) + if ok := errors.As(respErr, &apiError); ok { if apiError.IsRequiredAgreementMissingOrExpired() { logger.Warnf("Received error FORBIDDEN.REQUIRED_AGREEMENTS_MISSING_OR_EXPIRED (status 403), retrying request...") return true, nil } } + // return error, otherwise response will be read twice and appear empty + return false, respErr } if resp != nil && resp.StatusCode == http.StatusTooManyRequests {