Set BasicAuth in http.go only if username and password are not empty (#914)
This prevents error "read/write on closed pipe".
Go's http.client::send() always closes req.Body, so if the first request attempt
is unsuccessful, any subsequent requests after calling the `CredentialsCallback`
will attempt to read/write on a closed pipe.
(cherry picked from commit 9db5de109c
)
This commit is contained in:
parent
ea4c8f5916
commit
ea645bc456
4
http.go
4
http.go
|
@ -203,7 +203,9 @@ func (self *httpSmartSubtransportStream) sendRequest() error {
|
|||
req.ContentLength = -1
|
||||
}
|
||||
|
||||
req.SetBasicAuth(userName, password)
|
||||
if userName != "" && password != "" {
|
||||
req.SetBasicAuth(userName, password)
|
||||
}
|
||||
resp, err = http.DefaultClient.Do(req)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
Loading…
Reference in New Issue