From 43ac0cdb9c4eea9d3c5eceb2c11b9e5b98b87b00 Mon Sep 17 00:00:00 2001 From: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com> Date: Mon, 30 May 2022 13:41:24 +0100 Subject: [chore] Global server configuration overhaul (#575) * move config flag names and usage to config package, rewrite config package to use global Configuration{} struct Signed-off-by: kim * improved code comment Signed-off-by: kim * linter Signed-off-by: kim * fix unmarshaling Signed-off-by: kim * remove kim's custom go compiler changes Signed-off-by: kim * generate setter and flag-name functions, implement these in codebase Signed-off-by: kim * update deps Signed-off-by: kim * small change Signed-off-by: kim * appease the linter... Signed-off-by: kim * move configuration into ConfigState structure, ensure reloading to/from viper settings to keep in sync Signed-off-by: kim * lint Signed-off-by: kim * update code comments Signed-off-by: kim * fix merge issue Signed-off-by: kim * fix merge issue Signed-off-by: kim * improved version string (removes time + go version) Signed-off-by: kim * fix version string build to pass test script + consolidate logic in func Signed-off-by: kim * add license text, update config.Defaults comment Signed-off-by: kim * add license text to generated config helpers file Signed-off-by: kim * defer unlock on config.Set___(), to ensure unlocked on panic Signed-off-by: kim * make it more obvious which cmd flags are being attached Signed-off-by: kim --- internal/web/base.go | 9 ++++----- internal/web/confirmemail.go | 3 +-- internal/web/profile.go | 3 +-- internal/web/thread.go | 3 +-- 4 files changed, 7 insertions(+), 11 deletions(-) (limited to 'internal/web') diff --git a/internal/web/base.go b/internal/web/base.go index fff61043a..d203522ae 100644 --- a/internal/web/base.go +++ b/internal/web/base.go @@ -27,7 +27,6 @@ import ( "github.com/gin-gonic/gin" "github.com/sirupsen/logrus" - "github.com/spf13/viper" "github.com/superseriousbusiness/gotosocial/internal/api" "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/processing" @@ -54,9 +53,9 @@ type Module struct { // New returns a new api.ClientModule for web pages. func New(processor processing.Processor) (api.ClientModule, error) { - assetsBaseDir := viper.GetString(config.Keys.WebAssetBaseDir) + assetsBaseDir := config.GetWebAssetBaseDir() if assetsBaseDir == "" { - return nil, fmt.Errorf("%s cannot be empty and must be a relative or absolute path", config.Keys.WebAssetBaseDir) + return nil, fmt.Errorf("%s cannot be empty and must be a relative or absolute path", config.WebAssetBaseDirFlag()) } assetsPath, err := filepath.Abs(assetsBaseDir) @@ -106,7 +105,7 @@ func (m *Module) baseHandler(c *gin.Context) { l := logrus.WithField("func", "BaseGETHandler") l.Trace("serving index html") - host := viper.GetString(config.Keys.Host) + host := config.GetHost() instance, err := m.processor.InstanceGet(c.Request.Context(), host) if err != nil { l.Debugf("error getting instance from processor: %s", err) @@ -124,7 +123,7 @@ func (m *Module) NotFoundHandler(c *gin.Context) { l := logrus.WithField("func", "404") l.Trace("serving 404 html") - host := viper.GetString(config.Keys.Host) + host := config.GetHost() instance, err := m.processor.InstanceGet(c.Request.Context(), host) if err != nil { l.Debugf("error getting instance from processor: %s", err) diff --git a/internal/web/confirmemail.go b/internal/web/confirmemail.go index 9488c5d52..7c8aa464f 100644 --- a/internal/web/confirmemail.go +++ b/internal/web/confirmemail.go @@ -23,7 +23,6 @@ import ( "github.com/gin-gonic/gin" "github.com/sirupsen/logrus" - "github.com/spf13/viper" "github.com/superseriousbusiness/gotosocial/internal/config" ) @@ -45,7 +44,7 @@ func (m *Module) confirmEmailGETHandler(c *gin.Context) { return } - host := viper.GetString(config.Keys.Host) + host := config.GetHost() instance, err := m.processor.InstanceGet(ctx, host) if err != nil { c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) diff --git a/internal/web/profile.go b/internal/web/profile.go index 7fad7f4c6..66419dcc7 100644 --- a/internal/web/profile.go +++ b/internal/web/profile.go @@ -27,7 +27,6 @@ import ( "github.com/gin-gonic/gin" "github.com/sirupsen/logrus" - "github.com/spf13/viper" "github.com/superseriousbusiness/gotosocial/internal/ap" "github.com/superseriousbusiness/gotosocial/internal/api" "github.com/superseriousbusiness/gotosocial/internal/config" @@ -52,7 +51,7 @@ func (m *Module) profileTemplateHandler(c *gin.Context) { return } - instance, errWithCode := m.processor.InstanceGet(ctx, viper.GetString(config.Keys.Host)) + instance, errWithCode := m.processor.InstanceGet(ctx, config.GetHost()) if errWithCode != nil { l.Debugf("error getting instance from processor: %s", errWithCode.Error()) c.JSON(errWithCode.Code(), gin.H{"error": errWithCode.Safe()}) diff --git a/internal/web/thread.go b/internal/web/thread.go index 0450f6b26..3a9839281 100644 --- a/internal/web/thread.go +++ b/internal/web/thread.go @@ -23,7 +23,6 @@ import ( "strings" "github.com/sirupsen/logrus" - "github.com/spf13/viper" "github.com/gin-gonic/gin" "github.com/superseriousbusiness/gotosocial/internal/config" @@ -57,7 +56,7 @@ func (m *Module) threadTemplateHandler(c *gin.Context) { return } - host := viper.GetString(config.Keys.Host) + host := config.GetHost() instance, err := m.processor.InstanceGet(ctx, host) if err != nil { l.Debugf("error getting instance from processor: %s", err) -- cgit v1.2.3