bilibili-backup/app/service/main/identify/dao/passport.go

67 lines
1.8 KiB
Go
Raw Normal View History

2019-04-22 10:59:20 +08:00
package dao
import (
"context"
"net/http"
"net/url"
"go-common/app/service/main/identify/model"
"go-common/library/ecode"
"go-common/library/log"
"go-common/library/net/metadata"
)
// AccessCookie .
func (d *Dao) AccessCookie(c context.Context, cookie string) (res *model.IdentifyInfo, err error) {
params := url.Values{}
// new request
req, err := d.client.NewRequest(http.MethodGet, d.cookieURI, metadata.String(c, metadata.RemoteIP), params)
if err != nil {
log.Error("client.NewRequest(GET, %s) error(%v)", req.URL.String(), err)
return
}
req.Header.Set("Cookie", cookie)
var response struct {
Code int `json:"code"`
Data model.IdentifyInfo `json:"data"`
}
if err = d.client.Do(c, req, &response); err != nil {
log.Error("client.Do(%s) error(%v)", req.URL.String(), err)
return
}
if response.Code != ecode.OK.Code() {
log.Warn("identify auth url(%s) code(%d)", req.URL.String(), response.Code)
err = ecode.Int(response.Code)
return
}
res = &response.Data
return
}
// AccessToken .
func (d *Dao) AccessToken(c context.Context, accesskey string) (res *model.IdentifyInfo, err error) {
params := url.Values{}
params.Set("access_key", accesskey)
// new request
req, err := d.client.NewRequest(http.MethodGet, d.tokenURI, metadata.String(c, metadata.RemoteIP), params)
if err != nil {
log.Error("client.NewRequest(GET, %s) error(%v)", req.URL.String(), err)
return
}
var response struct {
Code int `json:"code"`
Data model.IdentifyInfo `json:"data"`
}
if err = d.client.Do(c, req, &response); err != nil {
log.Error("client.Do(%s) error(%v)", req.URL.String(), err)
return
}
if response.Code != 0 {
log.Warn("identify auth url(%s) code(%d)", req.URL.String(), response.Code)
err = ecode.Int(response.Code)
return
}
res = &response.Data
return
}