Persist credentials on source redirections (#124)

* add client opt to persist credentials on source redirections

* Remove PersistCredentialsOnRedirect flag, persist creds (if any) by default on redirects

* remove useless check

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
This commit is contained in:
Hiruna Wijesinghe
2022-06-03 01:19:11 +10:00
committed by GitHub
parent 277e89f3ac
commit 09304e1c2e
2 changed files with 178 additions and 128 deletions

View File

@@ -1211,15 +1211,19 @@ func (c *Client) doDescribe(u *base.URL) (Tracks, *base.URL, *base.Response, err
len(res.Header["Location"]) == 1 {
c.reset()
u, err := base.ParseURL(res.Header["Location"][0])
ru, err := base.ParseURL(res.Header["Location"][0])
if err != nil {
return nil, nil, nil, err
}
c.scheme = u.Scheme
c.host = u.Host
if u.User != nil {
ru.User = u.User
}
return c.doDescribe(u)
c.scheme = ru.Scheme
c.host = ru.Host
return c.doDescribe(ru)
}
return nil, nil, res, liberrors.ErrClientBadStatusCode{Code: res.StatusCode, Message: res.StatusMessage}