mirror of
https://github.com/rclone/rclone.git
synced 2025-01-10 00:08:44 +01:00
fshttp: prevent overlap of HTTP headers in logs
This commit is contained in:
parent
2ed2861d09
commit
50a107a5f3
@ -31,6 +31,7 @@ var (
|
|||||||
noTransport = new(sync.Once)
|
noTransport = new(sync.Once)
|
||||||
tpsBucket *rate.Limiter // for limiting number of http transactions per second
|
tpsBucket *rate.Limiter // for limiting number of http transactions per second
|
||||||
cookieJar, _ = cookiejar.New(&cookiejar.Options{PublicSuffixList: publicsuffix.List})
|
cookieJar, _ = cookiejar.New(&cookiejar.Options{PublicSuffixList: publicsuffix.List})
|
||||||
|
logMutex sync.Mutex
|
||||||
)
|
)
|
||||||
|
|
||||||
// StartHTTPTokenBucket starts the token bucket if necessary
|
// StartHTTPTokenBucket starts the token bucket if necessary
|
||||||
@ -328,15 +329,18 @@ func (t *Transport) RoundTrip(req *http.Request) (resp *http.Response, err error
|
|||||||
if t.dump&fs.DumpAuth == 0 {
|
if t.dump&fs.DumpAuth == 0 {
|
||||||
buf = cleanAuths(buf)
|
buf = cleanAuths(buf)
|
||||||
}
|
}
|
||||||
|
logMutex.Lock()
|
||||||
fs.Debugf(nil, "%s", separatorReq)
|
fs.Debugf(nil, "%s", separatorReq)
|
||||||
fs.Debugf(nil, "%s (req %p)", "HTTP REQUEST", req)
|
fs.Debugf(nil, "%s (req %p)", "HTTP REQUEST", req)
|
||||||
fs.Debugf(nil, "%s", string(buf))
|
fs.Debugf(nil, "%s", string(buf))
|
||||||
fs.Debugf(nil, "%s", separatorReq)
|
fs.Debugf(nil, "%s", separatorReq)
|
||||||
|
logMutex.Unlock()
|
||||||
}
|
}
|
||||||
// Do round trip
|
// Do round trip
|
||||||
resp, err = t.Transport.RoundTrip(req)
|
resp, err = t.Transport.RoundTrip(req)
|
||||||
// Logf response
|
// Logf response
|
||||||
if t.dump&(fs.DumpHeaders|fs.DumpBodies|fs.DumpAuth|fs.DumpRequests|fs.DumpResponses) != 0 {
|
if t.dump&(fs.DumpHeaders|fs.DumpBodies|fs.DumpAuth|fs.DumpRequests|fs.DumpResponses) != 0 {
|
||||||
|
logMutex.Lock()
|
||||||
fs.Debugf(nil, "%s", separatorResp)
|
fs.Debugf(nil, "%s", separatorResp)
|
||||||
fs.Debugf(nil, "%s (req %p)", "HTTP RESPONSE", req)
|
fs.Debugf(nil, "%s (req %p)", "HTTP RESPONSE", req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -346,6 +350,7 @@ func (t *Transport) RoundTrip(req *http.Request) (resp *http.Response, err error
|
|||||||
fs.Debugf(nil, "%s", string(buf))
|
fs.Debugf(nil, "%s", string(buf))
|
||||||
}
|
}
|
||||||
fs.Debugf(nil, "%s", separatorResp)
|
fs.Debugf(nil, "%s", separatorResp)
|
||||||
|
logMutex.Unlock()
|
||||||
}
|
}
|
||||||
if err == nil {
|
if err == nil {
|
||||||
checkServerTime(req, resp)
|
checkServerTime(req, resp)
|
||||||
|
Loading…
Reference in New Issue
Block a user