本文整理汇总了Golang中gnd/la/net/httpclient.Response.ReadAll方法的典型用法代码示例。如果您正苦于以下问题:Golang Response.ReadAll方法的具体用法?Golang Response.ReadAll怎么用?Golang Response.ReadAll使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gnd/la/net/httpclient.Response
的用法示例。
在下文中一共展示了Response.ReadAll方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: googleError
func googleError(r *httpclient.Response) error {
data, _ := r.ReadAll()
var e *Error
if err := json.Unmarshal(data, &e); err == nil && e != nil && e.Message != "" {
return e
}
return fmt.Errorf("invalid status code %d: %s", r.StatusCode, string(data))
}
示例2: decodeError
func (c *Client) decodeError(r *httpclient.Response) error {
if c.DecodeError != nil {
return c.DecodeError(r)
}
data, err := r.ReadAll()
if err != nil {
return fmt.Errorf("error reading response: %s", err)
}
return errors.New(string(data))
}
示例3: parseToken
func parseToken(resp *httpclient.Response) (*Token, error) {
defer resp.Close()
b, err := resp.ReadAll()
if err != nil {
return nil, err
}
s := string(b)
if !resp.IsOK() {
return nil, fmt.Errorf("oAuth service returned non-200 status code %d: %s", resp.StatusCode, s)
}
values, err := url.ParseQuery(s)
if err != nil {
return nil, err
}
key := values.Get("oauth_token")
secret := values.Get("oauth_token_secret")
if key == "" || secret == "" {
return nil, fmt.Errorf("can't parse token from %q", s)
}
return &Token{
Key: key,
Secret: secret,
}, nil
}