@@ -116,9 +116,7 @@ func NewErrorHandler(logger *zap.Logger) *ErrorHandler {
116116func (eh * ErrorHandler ) HandleError (resp * resty.Response , errorResp * ErrorResponse ) error {
117117 statusCode := resp .StatusCode ()
118118
119- // Handle new ErrorResponse format with errors array
120119 if len (errorResp .Errors ) > 0 {
121- // Log all errors with enhanced information
122120 for i , apiError := range errorResp .Errors {
123121 logFields := []zap.Field {
124122 zap .Int ("error_index" , i ),
@@ -131,7 +129,6 @@ func (eh *ErrorHandler) HandleError(resp *resty.Response, errorResp *ErrorRespon
131129 zap .String ("method" , resp .Request .Method ),
132130 }
133131
134- // Add source information if available
135132 if apiError .Source != nil {
136133 if apiError .Source .JsonPointer != nil {
137134 logFields = append (logFields , zap .String ("source_json_pointer" , apiError .Source .JsonPointer .Pointer ))
@@ -141,7 +138,6 @@ func (eh *ErrorHandler) HandleError(resp *resty.Response, errorResp *ErrorRespon
141138 }
142139 }
143140
144- // Add links information if available
145141 if apiError .Links != nil {
146142 if apiError .Links .About != "" {
147143 logFields = append (logFields , zap .String ("links_about" , apiError .Links .About ))
@@ -154,28 +150,24 @@ func (eh *ErrorHandler) HandleError(resp *resty.Response, errorResp *ErrorRespon
154150 }
155151 }
156152
157- // Add meta information if available
158153 if apiError .Meta != nil && apiError .Meta .AdditionalProperties != nil {
159154 logFields = append (logFields , zap .Any ("error_meta" , apiError .Meta .AdditionalProperties ))
160155 }
161156
162157 eh .logger .Error ("API request failed" , logFields ... )
163158 }
164159
165- // Return the first error
166160 firstError := errorResp .Errors [0 ]
167161 return & firstError
168162 }
169163
170- // Fallback for when no structured errors are provided
171164 eh .logger .Error ("API request failed (no structured error)" ,
172165 zap .Int ("status_code" , statusCode ),
173166 zap .String ("url" , resp .Request .URL ),
174167 zap .String ("method" , resp .Request .Method ),
175168 zap .String ("response_body" , resp .String ()),
176169 )
177170
178- // Return generic error
179171 return & APIError {
180172 Status : fmt .Sprintf ("%d" , statusCode ),
181173 Code : fmt .Sprintf ("HTTP_%d" , statusCode ),
0 commit comments