From 0884f89431cd26bcc9674b3b7ab628b090f5881e Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Tue, 7 Dec 2021 13:31:39 +0100 Subject: Implement Cobra CLI tooling, Viper config tooling (#336) * start pulling out + replacing urfave and config * replace many many instances of config * move more stuff => viper * properly remove urfave * move some flags to root command * add testrig commands to root * alias config file keys * start adding cli parsing tests * reorder viper init * remove config path alias * fmt * change config file keys to non-nested * we're more or less in business now * tidy up the common func * go fmt * get tests passing again * add note about the cliparsing tests * reorganize * update docs with changes * structure cmd dir better * rename + move some files around * fix dangling comma --- internal/transport/controller.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'internal/transport/controller.go') diff --git a/internal/transport/controller.go b/internal/transport/controller.go index 86f612c15..1f46494dc 100644 --- a/internal/transport/controller.go +++ b/internal/transport/controller.go @@ -25,6 +25,7 @@ import ( "sync" "github.com/go-fed/httpsig" + "github.com/spf13/viper" "github.com/superseriousbusiness/activity/pub" "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/db" @@ -37,7 +38,6 @@ type Controller interface { } type controller struct { - config *config.Config db db.DB clock pub.Clock client pub.HttpClient @@ -45,13 +45,16 @@ type controller struct { } // NewController returns an implementation of the Controller interface for creating new transports -func NewController(config *config.Config, db db.DB, clock pub.Clock, client pub.HttpClient) Controller { +func NewController(db db.DB, clock pub.Clock, client pub.HttpClient) Controller { + applicationName := viper.GetString(config.Keys.ApplicationName) + host := viper.GetString(config.Keys.Host) + appAgent := fmt.Sprintf("%s %s", applicationName, host) + return &controller{ - config: config, db: db, clock: clock, client: client, - appAgent: fmt.Sprintf("%s %s", config.ApplicationName, config.Host), + appAgent: appAgent, } } @@ -93,7 +96,7 @@ func (c *controller) NewTransportForUsername(ctx context.Context, username strin // Otherwise, we can take the instance account and use those credentials to make the request. var u string if username == "" { - u = c.config.Host + u = viper.GetString(config.Keys.Host) } else { u = username } -- cgit v1.2.3