51 lines
1 KiB
Go
51 lines
1 KiB
Go
|
package api
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"github.com/go-resty/resty/v2"
|
||
|
"strings"
|
||
|
)
|
||
|
|
||
|
func logRequest(req *resty.Request) {
|
||
|
fmt.Println("Request:")
|
||
|
fmt.Printf("Method: %s\n", req.Method)
|
||
|
fmt.Printf("URL: %s\n", req.URL)
|
||
|
fmt.Println("Headers:")
|
||
|
for k, v := range req.Header {
|
||
|
redacted := false
|
||
|
for _, rh := range RedactedHeaders {
|
||
|
if strings.ToLower(k) == strings.ToLower(rh) {
|
||
|
redacted = true
|
||
|
break
|
||
|
}
|
||
|
}
|
||
|
if redacted {
|
||
|
fmt.Printf("%s: %s\n", k, "REDACTED")
|
||
|
} else {
|
||
|
fmt.Printf("%s: %s\n", k, v)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func logResponse(resp *resty.Response) {
|
||
|
fmt.Println("Response:")
|
||
|
fmt.Printf("Status Code: %d\n", resp.StatusCode())
|
||
|
fmt.Printf("Protocol: %s\n", resp.Proto())
|
||
|
fmt.Printf("Time Duration: %s\n", resp.Time())
|
||
|
fmt.Println("Headers:")
|
||
|
for k, v := range resp.Header() {
|
||
|
redacted := false
|
||
|
for _, rh := range RedactedHeaders {
|
||
|
if strings.ToLower(k) == strings.ToLower(rh) {
|
||
|
redacted = true
|
||
|
break
|
||
|
}
|
||
|
}
|
||
|
if redacted {
|
||
|
fmt.Printf("%s: %s\n", k, "REDACTED")
|
||
|
} else {
|
||
|
fmt.Printf("%s: %s\n", k, v)
|
||
|
}
|
||
|
}
|
||
|
}
|