[chore] use string formatting package agnostic way of printing request attempts ptr (#3371)

This commit is contained in:
kim 2024-09-28 20:47:27 +00:00 committed by GitHub
parent 504b3a9162
commit 18b7e00fef
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -19,6 +19,7 @@ package httpclient
import (
"net/http"
"strconv"
"time"
"github.com/superseriousbusiness/gotosocial/internal/log"
@ -32,6 +33,7 @@ const (
// Request wraps an HTTP request
// to add our own retry / backoff.
type Request struct {
// Current backoff dur.
backoff time.Duration
@ -57,8 +59,7 @@ func WrapRequest(r *http.Request) *Request {
// Only add content-type header if a request body exists.
entry = entry.WithField("contentType", r.Header.Get("Content-Type"))
}
// note our formatting library follows ptr values
entry = entry.WithField("attempt", &rr.attempts)
entry = entry.WithField("attempt", uintPtr{&rr.attempts})
rr.Entry = entry
return rr
}
@ -73,3 +74,12 @@ func (r *Request) BackOff() time.Duration {
}
return r.backoff
}
type uintPtr struct{ u *uint }
func (f uintPtr) String() string {
if f.u == nil {
return "<nil>"
}
return strconv.FormatUint(uint64(*f.u), 10)
}