(u *url.URL)
| 136 | } |
| 137 | |
| 138 | func redactURL(u *url.URL) string { |
| 139 | if u == nil { |
| 140 | return "" |
| 141 | } |
| 142 | clone := *u |
| 143 | clone.User = nil |
| 144 | q := clone.Query() |
| 145 | for key, values := range q { |
| 146 | if isSensitiveName(key) || isSensitiveJSONKey(key) { |
| 147 | for i := range values { |
| 148 | values[i] = RedactedValue |
| 149 | } |
| 150 | q[key] = values |
| 151 | } |
| 152 | } |
| 153 | clone.RawQuery = q.Encode() |
| 154 | return clone.String() |
| 155 | } |
| 156 | |
| 157 | func captureRequestBody(req *http.Request) ([]byte, error) { |
| 158 | if req == nil || req.Body == nil { |
no test coverage detected