func handleResponse()

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),
	}
}