in main.go [395:416]
func handleResponse(resp *http.Response) error {
defer resp.Body.Close()
if !*verboseFlag && resp.StatusCode == http.StatusOK {
return nil
}
result := make(map[string]interface{})
if err := json.NewDecoder(resp.Body).Decode(&result); err != nil {
log.Fatal(err)
}
if resp.StatusCode == http.StatusOK {
pretty.Println(result)
return nil
}
errorObj, ok := result["error"].(map[string]interface{})
if !ok {
return errors.Errorf("%s", resp.Status)
}
return &esError{
Type: errorObj["type"].(string),
Reason: errorObj["reason"].(string),
}
}