Hyundai: extract login errors
This commit is contained in:
parent
e5bf2c8200
commit
ebf4baa431
1 changed files with 7 additions and 7 deletions
|
|
@ -255,15 +255,19 @@ func (v *Identity) bluelinkLogin(cookieClient *request.Helper, user, password st
|
|||
return "", err
|
||||
}
|
||||
|
||||
var redirect struct {
|
||||
var res struct {
|
||||
RedirectURL string `json:"redirectUrl"`
|
||||
ErrCode string `json:"errCode"`
|
||||
ErrMsg string `json:"errMsg"`
|
||||
}
|
||||
|
||||
var accCode string
|
||||
if err = cookieClient.DoJSON(req, &redirect); err == nil {
|
||||
if parsed, err := url.Parse(redirect.RedirectURL); err == nil {
|
||||
if err = cookieClient.DoJSON(req, &res); err == nil {
|
||||
if parsed, err := url.Parse(res.RedirectURL); err == nil {
|
||||
accCode = parsed.Query().Get("code")
|
||||
}
|
||||
} else if res.ErrCode != "" {
|
||||
err = fmt.Errorf("%w: %s (%s)", err, res.ErrMsg, res.ErrCode)
|
||||
}
|
||||
|
||||
return accCode, err
|
||||
|
|
@ -334,10 +338,6 @@ func (v *Identity) Login(user, password string) (err error) {
|
|||
if code, err = v.brandLogin(cookieClient, user, password); err != nil {
|
||||
code, err = v.bluelinkLogin(cookieClient, user, password)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
err = fmt.Errorf("login failed: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
if err == nil {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue