summaryrefslogtreecommitdiff
path: root/internal/transport/controller.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2021-12-07 13:31:39 +0100
committerLibravatar GitHub <noreply@github.com>2021-12-07 13:31:39 +0100
commit0884f89431cd26bcc9674b3b7ab628b090f5881e (patch)
treecdd3b3f77f780a8b59d075dbcc3d4d013811e405 /internal/transport/controller.go
parentUpdate dependencies (#333) (diff)
downloadgotosocial-0884f89431cd26bcc9674b3b7ab628b090f5881e.tar.xz
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
Diffstat (limited to 'internal/transport/controller.go')
-rw-r--r--internal/transport/controller.go13
1 files changed, 8 insertions, 5 deletions
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
}