@@ -116,9 +116,7 @@ func NewErrorHandler(logger *zap.Logger) *ErrorHandler {
116
116
func (eh * ErrorHandler ) HandleError (resp * resty.Response , errorResp * ErrorResponse ) error {
117
117
statusCode := resp .StatusCode ()
118
118
119
- // Handle new ErrorResponse format with errors array
120
119
if len (errorResp .Errors ) > 0 {
121
- // Log all errors with enhanced information
122
120
for i , apiError := range errorResp .Errors {
123
121
logFields := []zap.Field {
124
122
zap .Int ("error_index" , i ),
@@ -131,7 +129,6 @@ func (eh *ErrorHandler) HandleError(resp *resty.Response, errorResp *ErrorRespon
131
129
zap .String ("method" , resp .Request .Method ),
132
130
}
133
131
134
- // Add source information if available
135
132
if apiError .Source != nil {
136
133
if apiError .Source .JsonPointer != nil {
137
134
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
141
138
}
142
139
}
143
140
144
- // Add links information if available
145
141
if apiError .Links != nil {
146
142
if apiError .Links .About != "" {
147
143
logFields = append (logFields , zap .String ("links_about" , apiError .Links .About ))
@@ -154,28 +150,24 @@ func (eh *ErrorHandler) HandleError(resp *resty.Response, errorResp *ErrorRespon
154
150
}
155
151
}
156
152
157
- // Add meta information if available
158
153
if apiError .Meta != nil && apiError .Meta .AdditionalProperties != nil {
159
154
logFields = append (logFields , zap .Any ("error_meta" , apiError .Meta .AdditionalProperties ))
160
155
}
161
156
162
157
eh .logger .Error ("API request failed" , logFields ... )
163
158
}
164
159
165
- // Return the first error
166
160
firstError := errorResp .Errors [0 ]
167
161
return & firstError
168
162
}
169
163
170
- // Fallback for when no structured errors are provided
171
164
eh .logger .Error ("API request failed (no structured error)" ,
172
165
zap .Int ("status_code" , statusCode ),
173
166
zap .String ("url" , resp .Request .URL ),
174
167
zap .String ("method" , resp .Request .Method ),
175
168
zap .String ("response_body" , resp .String ()),
176
169
)
177
170
178
- // Return generic error
179
171
return & APIError {
180
172
Status : fmt .Sprintf ("%d" , statusCode ),
181
173
Code : fmt .Sprintf ("HTTP_%d" , statusCode ),
0 commit comments