diff --git a/transport/httpcommon/httpcommon.go b/transport/httpcommon/httpcommon.go index e1bfdc6e..dd33fcd4 100644 --- a/transport/httpcommon/httpcommon.go +++ b/transport/httpcommon/httpcommon.go @@ -197,9 +197,10 @@ func DefaultHTTPTransportSettings() HTTPTransportSettings { // Unpack reads a config object into the settings. func (settings *HTTPTransportSettings) Unpack(cfg *config.C) error { tmp := struct { - TLS *tlscommon.Config `config:"ssl"` - Timeout time.Duration `config:"timeout"` - IdleConnTimeout time.Duration `config:"idle_connection_timeout"` + TLS *tlscommon.Config `config:"ssl"` + Timeout time.Duration `config:"timeout"` + IdleConnTimeout time.Duration `config:"idle_connection_timeout"` + Auth *HTTPAuthorization `config:"auth"` }{ Timeout: settings.Timeout, IdleConnTimeout: settings.IdleConnTimeout, @@ -223,6 +224,7 @@ func (settings *HTTPTransportSettings) Unpack(cfg *config.C) error { *settings = HTTPTransportSettings{ TLS: tmp.TLS, + Auth: tmp.Auth, Timeout: tmp.Timeout, Proxy: proxy, IdleConnTimeout: tmp.IdleConnTimeout, diff --git a/transport/httpcommon/httpcommon_test.go b/transport/httpcommon/httpcommon_test.go index 54c598bc..50dbd88e 100644 --- a/transport/httpcommon/httpcommon_test.go +++ b/transport/httpcommon/httpcommon_test.go @@ -83,6 +83,19 @@ ssl: Timeout: 5 * time.Second, }, }, + "includes auth": { + input: ` +auth: + api_key: test-key +timeout: 5s +`, + expected: HTTPTransportSettings{ + Auth: &HTTPAuthorization{ + APIKey: "test-key", + }, + Timeout: 5 * time.Second, + }, + }, } for name, tc := range tests { t.Run(name, func(t *testing.T) {