ente/internal/api/log.go

51 lines
1 KiB
Go
Raw Normal View History

2023-09-08 14:42:58 +00:00
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)
}
}
}