@@ -77,32 +77,45 @@ func (c *Client) CallURL(ctx context.Context, method, uri string, response any,
77
77
req .SetResult (response ).SetError (& models.ErrorResponse {})
78
78
79
79
res , err := req .Execute (method , uri )
80
- if err != nil {
81
- return fmt .Errorf ("failed to execute request: %w" , err )
82
- } else if res .IsError () {
83
- errRes := res .Error ().(* models.ErrorResponse )
84
- errRes .StatusCode = res .StatusCode ()
85
- if errRes .RequestID == "" {
86
- errRes .RequestID = res .Header ().Get ("X-Request-ID" )
80
+ if err != nil || res .IsError () {
81
+ if options .Trace {
82
+ c .logRequestTrace (uri , req , res )
87
83
}
88
- return errRes
89
- }
90
84
91
- if options .Trace {
92
- fmt .Printf ("Request URL: %s\n " , uri )
93
- sanitizedHeaders := req .Header
94
- for k := range sanitizedHeaders {
95
- if k == "Authorization" {
96
- sanitizedHeaders [k ] = []string {"REDACTED" }
85
+ if err != nil {
86
+ return fmt .Errorf ("failed to execute request: %w" , err )
87
+ } else {
88
+ errRes := res .Error ().(* models.ErrorResponse )
89
+ errRes .StatusCode = res .StatusCode ()
90
+ if errRes .RequestID == "" {
91
+ errRes .RequestID = res .Header ().Get ("X-Request-ID" )
97
92
}
93
+ return errRes
98
94
}
99
- fmt .Printf ("Request Headers: %s\n " , sanitizedHeaders )
100
- fmt .Printf ("Response Headers: %+v\n " , res .Header ())
95
+ }
96
+
97
+ if options .Trace {
98
+ c .logRequestTrace (uri , req , res )
101
99
}
102
100
103
101
return nil
104
102
}
105
103
104
+ func (c * Client ) logRequestTrace (uri string , req * resty.Request , res * resty.Response ) {
105
+ fmt .Printf ("Request URL: %s\n " , uri )
106
+ sanitizedHeaders := req .Header
107
+ for k := range sanitizedHeaders {
108
+ if k == "Authorization" {
109
+ sanitizedHeaders [k ] = []string {"REDACTED" }
110
+ }
111
+ }
112
+ fmt .Printf ("Request Headers: %s\n " , sanitizedHeaders )
113
+ if res != nil {
114
+ fmt .Printf ("Response Status Code: %d\n " , res .StatusCode ())
115
+ fmt .Printf ("Response Headers: %+v\n " , res .Header ())
116
+ }
117
+ }
118
+
106
119
func mergeOptions (opts ... models.RequestOption ) * models.RequestOptions {
107
120
options := & models.RequestOptions {}
108
121
for _ , o := range opts {
0 commit comments