in sobject/query.go [125:157]
func (q *query) queryResponse(request *http.Request) (*sfdc.Record, error) {
response, err := q.session.Client().Do(request)
if err != nil {
return nil, err
}
decoder := json.NewDecoder(response.Body)
defer response.Body.Close()
if response.StatusCode != http.StatusOK {
var queryErrs []sfdc.Error
err = decoder.Decode(&queryErrs)
var errMsg error
if err == nil {
for _, queryErr := range queryErrs {
errMsg = fmt.Errorf("insert response err: %s: %s", queryErr.ErrorCode, queryErr.Message)
}
} else {
errMsg = fmt.Errorf("insert response err: %d %s", response.StatusCode, response.Status)
}
return nil, errMsg
}
var record sfdc.Record
err = decoder.Decode(&record)
if err != nil {
return nil, err
}
return &record, nil
}