code: func NewClient(apiURL, apiKeyOrBasicAuth string, client *http.Client) *Client {
  	key := ""
  	basicAuth := strings.Contains(apiKeyOrBasicAuth, ":")
  	baseURL, _ := url.Parse(apiURL)
  	if !basicAuth {
  		key = fmt.Sprintf("Bearer %s", apiKeyOrBasicAuth)
  	} else {
  		parts := strings.Split(apiKeyOrBasicAuth, ":")
  		baseURL.User = url.UserPassword(parts[0], parts[1])
  	}
  	return &Client{baseURL: baseURL.String(), basicAuth: basicAuth, key: key, client: client}
  }
docs: // NewClient initializes client for interacting with an instance of Grafana server;
  // apiKeyOrBasicAuth accepts either 'username:password' basic authentication credentials,
  // or a Grafana API key