diff --git a/config/http_config.go b/config/http_config.go index ff5837fa..ea231bf8 100644 --- a/config/http_config.go +++ b/config/http_config.go @@ -22,7 +22,7 @@ import ( "net/url" "strings" - yaml "gopkg.in/yaml.v2" + "gopkg.in/yaml.v2" ) // BasicAuth contains basic HTTP authentication credentials. @@ -79,7 +79,9 @@ type HTTPClientConfig struct { XXX map[string]interface{} `yaml:",inline"` } -func (c *HTTPClientConfig) validate() error { +// Validate validates the HTTPClientConfig to check only one of BearerToken, +// BasicAuth and BearerTokenFile is configured. +func (c *HTTPClientConfig) Validate() error { if len(c.BearerToken) > 0 && len(c.BearerTokenFile) > 0 { return fmt.Errorf("at most one of bearer_token & bearer_token_file must be configured") } @@ -96,9 +98,9 @@ func (c *HTTPClientConfig) UnmarshalYAML(unmarshal func(interface{}) error) erro if err != nil { return err } - err = c.validate() + err = c.Validate() if err != nil { - return c.validate() + return c.Validate() } return checkOverflow(c.XXX, "http_client_config") } diff --git a/config/http_config_test.go b/config/http_config_test.go index 1e2490bb..4b13e101 100644 --- a/config/http_config_test.go +++ b/config/http_config_test.go @@ -114,7 +114,7 @@ func TestValidateHTTPConfig(t *testing.T) { if err != nil { t.Errorf("Error loading HTTP client config: %v", err) } - err = cfg.validate() + err = cfg.Validate() if err != nil { t.Fatalf("Error validating %s: %s", "testdata/http.conf.good.yml", err) }