11package scw
22
33import (
4+ "math/rand"
45"net/http"
56"net/http/httputil"
67"sync/atomic"
@@ -24,16 +25,19 @@ func (l *requestLoggerTransport) RoundTrip(request *http.Request) (*http.Respons
2425// Get anonymized headers
2526request .Header = auth .AnonymizeHeaders (request .Header .Clone ())
2627
28+ // Add a pseudo random request identifier, this can be used to identify request and response in large logs
29+ requestIdentifier := rand .Uint32 ()
30+
2731dump , err := httputil .DumpRequestOut (request , true )
2832if err != nil {
2933logger .Warningf ("cannot dump outgoing request: %s" , err )
3034} else {
3135var logString string
32- logString += "\n --------------- Scaleway SDK REQUEST %d : ----- ----------\n "
36+ logString += "\n ---------- Scaleway SDK REQUEST %d (%x) : ----------\n "
3337logString += "%s\n "
3438logString += "---------------------------------------------------------"
3539
36- logger .Debugf (logString , currentRequestNumber , dump )
40+ logger .Debugf (logString , currentRequestNumber , requestIdentifier , dump )
3741}
3842
3943// Restore original headers before sending the request
@@ -51,11 +55,11 @@ func (l *requestLoggerTransport) RoundTrip(request *http.Request) (*http.Respons
5155logger .Warningf ("cannot dump ingoing response: %s" , err )
5256} else {
5357var logString string
54- logString += "\n --------------- Scaleway SDK RESPONSE %d : ----- ----------\n "
58+ logString += "\n ---------- Scaleway SDK RESPONSE %d (%x) : ----------\n "
5559logString += "%s\n "
5660logString += "----------------------------------------------------------"
5761
58- logger .Debugf (logString , currentRequestNumber , dump )
62+ logger .Debugf (logString , currentRequestNumber , requestIdentifier , dump )
5963}
6064
6165return response , requestError
0 commit comments