本文整理汇总了Golang中github.com/franela/goreq.Request.Error方法的典型用法代码示例。如果您正苦于以下问题:Golang Request.Error方法的具体用法?Golang Request.Error怎么用?Golang Request.Error使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/franela/goreq.Request
的用法示例。
在下文中一共展示了Request.Error方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: GetPreAuthCode
// 获取预授权码,用于公众号oauth
func (ra *regularApi) GetPreAuthCode(accessToken string) (string, float64) {
postData := struct {
Component_appid string `json:"component_appid"`
}{
Component_appid: ra.wt.appId,
}
res, err := goreq.Request{
Method: "POST",
Uri: fmt.Sprintf(apiCreatePreAuthCode, accessToken),
Body: postData,
}.Do()
if err != nil {
log.Println("getPreAuthCode api failed: ", err.Error())
return "", 0
}
result := &struct {
PAC string `json:"pre_auth_code"`
ExpiresIn float64 `json:"expires_in"`
}{}
err = unmarshalResponseToJson(res, result)
if err != nil {
log.Println("Parse pre auth token failed: ", err)
return "", 0
}
return result.PAC, result.ExpiresIn
}
示例2: GetAccessToken
// 获取第三方平台令牌
func (ra *regularApi) GetAccessToken(ticket string) (string, float64) {
postData := struct {
Component_appid string `json:"component_appid"`
Component_appsecret string `json:"component_appsecret"`
Component_verify_ticket string `json:"component_verify_ticket"`
}{
Component_appid: ra.wt.appId,
Component_appsecret: ra.wt.appSecret,
Component_verify_ticket: ticket,
}
res, err := goreq.Request{
Method: "POST",
Uri: apiComponentToken,
Body: postData,
}.Do()
if err != nil {
log.Println("getAccessToken api failed: ", err.Error())
return "", 0
}
result := &struct {
CAT string `json:"component_access_token"`
ExpiresIn float64 `json:"expires_in"`
}{}
err = unmarshalResponseToJson(res, result)
if err != nil {
log.Println("Parse access token failed: ", err)
}
return result.CAT, result.ExpiresIn
}
示例3: getObject
//retrieve object from the object store
func (u *UserGraphResource) getObject(id string, response *restful.Response) (*Object, error) {
res, err := goreq.Request{
Uri: u.baseUrl + id,
Accept: "application/json",
ContentType: "application/json",
}.Do()
if err != nil {
response.AddHeader("Content-Type", "text/plain")
response.WriteErrorString(http.StatusInternalServerError, err.Error())
return nil, errors.New("500")
}
if res.StatusCode == 404 {
response.AddHeader("Content-Type", "text/plain")
response.WriteErrorString(http.StatusNotFound, "Requested item could not be found.")
return nil, errors.New("404")
}
if res.StatusCode != 200 {
response.AddHeader("Content-Type", "text/plain")
value, _ := res.Body.ToString()
response.WriteErrorString(http.StatusInternalServerError, "Object store returned: "+
strconv.Itoa(res.StatusCode)+" Response body:\n"+value)
return nil, errors.New(strconv.Itoa(res.StatusCode))
}
obj := new(Object)
res.Body.FromJsonTo(&obj)
res.Body.Close()
return obj, nil
}
示例4: get
func (c Client) get(url string, requestData interface{}, result interface{}) []error {
var errs []error
resp, err := goreq.Request{
Uri: url,
QueryString: requestData,
CookieJar: c.cookie,
}.Do()
if err != nil {
errs = append(errs, errors.New(err.Error()))
log.Fatalln(err.Error())
}
defer func() {
err := resp.Body.Close()
if err != nil {
log.Fatal(err)
}
}()
if resp.StatusCode != http.StatusOK {
errs = append(errs, errors.New("Failed login: status code is "+resp.Status))
}
err = resp.Body.FromJsonTo(&result)
if err != nil {
errs = append(errs, errors.New(err.Error()))
log.Println(err.Error())
}
return errs
}
示例5: main
func main() {
item := Item{Id: 1111, Name: "foobar"}
res, err := goreq.Request{
Method: "POST",
Uri: "http://www.google.com",
Body: item,
}.Do()
if err != nil {
fmt.Println("Something wrong ", err.Error())
} else {
spew.Dump(res.Header)
fmt.Println(res.Body.ToString())
}
}
示例6: main
func main() {
flag.Parse()
if *eaddr == "" || *topic == "" || *channel == "" {
log.Println("Please input the elastic addr or topic or channel")
return
}
res, err := goreq.Request{Uri: *eaddr + "?topic=" + *topic + "&channel=" + *channel}.Do()
if err != nil {
log.Println(err.Error())
}
var v models.NodeItem
body, _ := res.Body.ToString()
log.Println(body)
err = json.Unmarshal([]byte(body), &v)
if err != nil {
log.Fatal(err.Error())
}
addr = v.Ip + ":" + strconv.Itoa(v.Tcpport)
consumer, err = nsq.NewConsumer(*topic, *channel, cfg)
if err != nil {
log.Fatal(err.Error())
}
consumer.AddHandler(nsq.HandlerFunc(func(m *nsq.Message) error {
log.Println(string(m.Body))
return nil
}))
consumer.ConnectToNSQD(addr)
<-exitchan
}
示例7: createUser
// POST http://localhost:8085/users
// {"name":"user name"}
//
func (u *UserGraphResource) createUser(request *restful.Request, response *restful.Response) {
obj := new(Object)
err := request.ReadEntity(&obj.Data.User)
if err != nil {
response.AddHeader("Content-Type", "text/plain")
response.WriteErrorString(http.StatusInternalServerError, err.Error())
return
}
res, err := goreq.Request{
Method: "POST",
Body: obj,
Uri: u.baseUrl,
Accept: "application/json",
ContentType: "application/json",
}.Do()
if err != nil {
response.AddHeader("Content-Type", "text/plain")
response.WriteErrorString(http.StatusInternalServerError, err.Error())
return
}
if res.StatusCode != 201 {
response.AddHeader("Content-Type", "text/plain")
value, _ := res.Body.ToString()
response.WriteErrorString(http.StatusInternalServerError, "Object store returned: "+
strconv.Itoa(res.StatusCode)+" Response body:\n"+value)
return
}
res.Body.FromJsonTo(&obj)
res.Body.Close()
user := obj.Data.User
user.Id = obj.Id
response.WriteHeader(http.StatusCreated)
response.WriteEntity(user)
}