Skip to content

Commit c348b1f

Browse files
authored
Merge pull request #102 from deploymenttheory/dev
Dev
2 parents 462a51e + 274880c commit c348b1f

File tree

4 files changed

+11
-7
lines changed

4 files changed

+11
-7
lines changed

httpclient/httpclient_error_response.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,13 @@ type StructuredError struct {
3030
} `json:"error"`
3131
}
3232

33-
// Error returns a string representation of the APIError.
33+
// Error returns a JSON representation of the APIError.
3434
func (e *APIError) Error() string {
35-
return fmt.Sprintf("API Error (Type: %s, Code: %d): %s", e.Type, e.StatusCode, e.Message)
35+
data, err := json.Marshal(e)
36+
if err != nil {
37+
return fmt.Sprintf("Error encoding APIError to JSON: %s", err)
38+
}
39+
return string(data)
3640
}
3741

3842
// handleAPIErrorResponse attempts to parse the error response from the API and logs using the zap logger.

httpclient/httpclient_mocklogger.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ func (m *MockLogger) LogRequestEnd(event string, method string, url string, stat
7777
m.Called(event, method, url, statusCode, duration)
7878
}
7979

80-
func (m *MockLogger) LogError(event string, method string, url string, statusCode int, serverStatusMessage string, err error, stacktrace string) {
81-
m.Called(event, method, url, statusCode, serverStatusMessage, err, stacktrace)
80+
func (m *MockLogger) LogError(event string, method string, url string, statusCode int, serverStatusMessage string, err error, rawResponse string) {
81+
m.Called(event, method, url, statusCode, serverStatusMessage, err, rawResponse)
8282
}
8383

8484
func (m *MockLogger) LogAuthTokenError(event string, method string, url string, statusCode int, err error) {

logger/zaplogger_logfields.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func (d *defaultLogger) LogRequestEnd(event string, method string, url string, s
3636
}
3737

3838
// LogError logs an error that occurs during the processing of an HTTP request or any other event, if the current log level permits.
39-
func (d *defaultLogger) LogError(event string, method, url string, statusCode int, serverStatusMessage string, err error, stacktrace string) {
39+
func (d *defaultLogger) LogError(event string, method, url string, statusCode int, serverStatusMessage string, err error, rawResponse string) {
4040
if d.logLevel <= LogLevelError {
4141
errorMessage := ""
4242
if err != nil {
@@ -50,7 +50,7 @@ func (d *defaultLogger) LogError(event string, method, url string, statusCode in
5050
zap.Int("status_code", statusCode),
5151
zap.String("status_message", serverStatusMessage),
5252
zap.String("error_message", errorMessage),
53-
zap.String("stacktrace", stacktrace),
53+
zap.String("raw_response", rawResponse),
5454
}
5555
d.logger.Error("Error occurred", fields...)
5656
}

logger/zaplogger_logger.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ type Logger interface {
3434
// Updated method signatures to include the 'event' parameter
3535
LogRequestStart(event string, requestID string, userID string, method string, url string, headers map[string][]string)
3636
LogRequestEnd(event string, method string, url string, statusCode int, duration time.Duration)
37-
LogError(event string, method string, url string, statusCode int, serverStatusMessage string, err error, stacktrace string)
37+
LogError(event string, method string, url string, statusCode int, serverStatusMessage string, err error, rawResponse string)
3838
LogAuthTokenError(event string, method string, url string, statusCode int, err error)
3939
LogRetryAttempt(event string, method string, url string, attempt int, reason string, waitDuration time.Duration, err error)
4040
LogRateLimiting(event string, method string, url string, retryAfter string, waitDuration time.Duration)

0 commit comments

Comments
 (0)