diff --git a/lfs/client.go b/lfs/client.go index f877907b..9e7ccac4 100644 --- a/lfs/client.go +++ b/lfs/client.go @@ -396,7 +396,7 @@ func doApiBatchRequest(req *http.Request) (*http.Response, []*objectResource, er func doStorageRequest(req *http.Request) (*http.Response, error) { creds, err := getCreds(req) if err != nil { - return nil, Error(err) + return nil, err } return doHttpRequest(req, creds) @@ -450,7 +450,7 @@ func doApiRequestWithRedirects(req *http.Request, via []*http.Request, useCreds if useCreds { c, err := getCredsForAPI(req) if err != nil { - return nil, Error(err) + return nil, err } creds = c } diff --git a/lfs/credentials.go b/lfs/credentials.go index 78d3de2e..382906d7 100644 --- a/lfs/credentials.go +++ b/lfs/credentials.go @@ -19,7 +19,7 @@ func getCreds(req *http.Request) (Creds, error) { creds, err := fillCredentials(req.URL) if err != nil { - return nil, err + return nil, Error(err) } setRequestAuth(req, creds["username"], creds["password"]) @@ -42,16 +42,23 @@ func getCredsForAPI(req *http.Request) (Creds, error) { } credsUrl, err := getCredURLForAPI(req) - if err != nil || credsUrl == nil { - return nil, err + if err != nil { + return nil, Error(err) + } + + if credsUrl == nil { + return nil, nil } creds, err := fillCredentials(credsUrl) - if err != nil || creds == nil { - return nil, err + if err != nil { + return nil, Error(err) + } + + if creds != nil { + setRequestAuth(req, creds["username"], creds["password"]) } - setRequestAuth(req, creds["username"], creds["password"]) return creds, nil }