~netlandish/links-dev

links: bump gobwebs-graphql to toggle introspection when not in debug mode. v1 APPLIED

Peter Sanchez: 1
 bump gobwebs-graphql to toggle introspection when not in debug mode.

 6 files changed, 60 insertions(+), 59 deletions(-)
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.code.netlandish.com/~netlandish/links-dev/patches/229/mbox | git am -3
Learn more about email & git

[PATCH links] bump gobwebs-graphql to toggle introspection when not in debug mode. Export this patch

rename `config` variable name to `conf` as it conflicts with the
`config` module.
---
 cmd/api/main.go   | 29 +++++++++++++++--------------
 cmd/links/main.go | 36 ++++++++++++++++++------------------
 cmd/list/main.go  | 26 +++++++++++++-------------
 cmd/short/main.go | 22 +++++++++++-----------
 go.mod            |  2 +-
 go.sum            |  4 ++--
 6 files changed, 60 insertions(+), 59 deletions(-)

diff --git a/cmd/api/main.go b/cmd/api/main.go
index bfec080..0b18c50 100644
--- a/cmd/api/main.go
+++ b/cmd/api/main.go
@@ -44,52 +44,52 @@ func main() {
}

func run() error {
	config, err := config.LoadConfig("./config.ini")
	conf, err := config.LoadConfig("./config.ini")
	if err != nil {
		return err
	}

	db, err := cmd.OpenDB(config)
	db, err := cmd.OpenDB(conf)
	if err != nil {
		return fmt.Errorf("Unable to open connection to PostgreSQL: %v", err)
	}
	defer db.Close()
	database.SetPlaceholderFormat(sq.Dollar)

	entropy, ok := config.File.Get("access", "entropy")
	entropy, ok := conf.File.Get("access", "entropy")
	if !ok {
		return fmt.Errorf("No access entropy set. Required value")
	}

	if val, ok := config.File.Get("links", "api-listen-address"); ok {
	if val, ok := conf.File.Get("links", "api-listen-address"); ok {
		if val != "" {
			config.ListenAddr = val
			conf.ListenAddr = val
		}
	}

	if val, ok := config.File.Get("links", "api-listen-port"); ok {
		config.ListenPort, err = strconv.Atoi(val)
	if val, ok := conf.File.Get("links", "api-listen-port"); ok {
		conf.ListenPort, err = strconv.Atoi(val)
		if err != nil {
			return fmt.Errorf("links:api-listen-port must be an integer value")
		}
	}

	esvc, err := cmd.LoadEmailService(config)
	esvc, err := cmd.LoadEmailService(conf)
	if err != nil {
		return fmt.Errorf("unable to load email service: %v", err)
	}

	storesvc, err := cmd.LoadStorageService(config)
	storesvc, err := cmd.LoadStorageService(conf)
	if err != nil {
		return fmt.Errorf("unable to load storage service: %v", err)
	}

	eSize, gSize, _, err := cmd.LoadWorkerQueueSizes(config)
	eSize, gSize, _, err := cmd.LoadWorkerQueueSizes(conf)
	if err != nil {
		return err
	}

	rlConfig, err := links.NewRateLimiterConfig(config)
	rlConfig, err := links.NewRateLimiterConfig(conf)
	if err != nil {
		return err
	}
@@ -120,7 +120,7 @@ func run() error {
		ServerContext: true,
	}

	srv := server.New(e, db, config).
	srv := server.New(e, db, conf).
		Initialize().
		WithAppInfo("links-api", Version).
		WithEmail(sq).
@@ -158,19 +158,20 @@ func run() error {
		"QRCODES",
	})
	ext.GQL.ScopesPath = "/query/api-scopes.json"
	ext.GQL.DisableIntrospection = !conf.Debug

	srv, err = srv.Extend(ext)
	if err != nil {
		return err
	}

	if config.Debug {
	if conf.Debug {
		srv.SetQueueTimeout(1 * time.Millisecond)
	}

	srv.AddFuncs(template.FuncMap{
		"buildURL": func(path string) string {
			baseURL := fmt.Sprintf("%s://%s", config.Scheme, config.Domain)
			baseURL := fmt.Sprintf("%s://%s", conf.Scheme, conf.Domain)
			url, _ := url.JoinPath(baseURL, path)
			return url
		},
diff --git a/cmd/links/main.go b/cmd/links/main.go
index 21718a1..9e87726 100644
--- a/cmd/links/main.go
+++ b/cmd/links/main.go
@@ -122,38 +122,38 @@ func loadGQLDefaults(config *config.Config, svcConfig *gobwebsgql.ServiceConfig)
}

func run() error {
	config, err := config.LoadConfig("./config.ini")
	conf, err := config.LoadConfig("./config.ini")
	if err != nil {
		return err
	}

	entropy, ok := config.File.Get("access", "entropy")
	entropy, ok := conf.File.Get("access", "entropy")
	if !ok {
		return fmt.Errorf("No access entropy set. Required value")
	}

	db, err := cmd.OpenDB(config)
	db, err := cmd.OpenDB(conf)
	if err != nil {
		return fmt.Errorf("Unable to open connection to PostgreSQL: %v", err)
	}
	defer db.Close()
	database.SetPlaceholderFormat(sq.Dollar)

	esvc, err := cmd.LoadEmailService(config)
	esvc, err := cmd.LoadEmailService(conf)
	if err != nil {
		return fmt.Errorf("unable to load email service: %v", err)
	}

	var storesvc storage.Service
	switch config.StorageSvc {
	switch conf.StorageSvc {
	case "fs":
		rootdir := "./"
		if rd, ok := config.File.Get("storage", "root-directory"); ok {
		if rd, ok := conf.File.Get("storage", "root-directory"); ok {
			rootdir = rd
		}
		storesvc = storage.NewFileSystemService(rootdir)
	case "s3":
		ep, bucket, opts, err := loadStorageConfig(config)
		ep, bucket, opts, err := loadStorageConfig(conf)
		if err != nil {
			return err
		}
@@ -166,14 +166,14 @@ func run() error {
		return fmt.Errorf("Unknown storage service configured")
	}

	eSize, gSize, iSize, err := cmd.LoadWorkerQueueSizes(config)
	eSize, gSize, iSize, err := cmd.LoadWorkerQueueSizes(conf)
	if err != nil {
		return err
	}

	tlsman := cmd.LoadAutoTLS(config, db, models.DomainServiceLinks)
	tlsman := cmd.LoadAutoTLS(conf, db, models.DomainServiceLinks)

	rlConfig, err := links.NewRateLimiterConfig(config)
	rlConfig, err := links.NewRateLimiterConfig(conf)
	if err != nil {
		return err
	}
@@ -207,8 +207,8 @@ func run() error {
			sm.Cookie.Persist = true
			sm.Cookie.SameSite = http.SameSiteLaxMode
			sm.Cookie.Secure = true
			if !config.Debug {
				ldomain, ok := config.File.Get("links", "links-service-domain")
			if !conf.Debug {
				ldomain, ok := conf.File.Get("links", "links-service-domain")
				if !ok {
					panic(fmt.Errorf("No links-service-domain set. Required value"))
				}
@@ -218,7 +218,7 @@ func run() error {

		},
	}
	srv := server.New(e, db, config).
	srv := server.New(e, db, conf).
		Initialize().
		WithAppInfo("links", Version).
		WithEmail(sq).
@@ -256,15 +256,15 @@ func run() error {
		},
		"trans": core.TmplTranslate,
		"mediaURL": func(path string) string {
			url, _ := url.JoinPath(config.MediaURL, path)
			url, _ := url.JoinPath(conf.MediaURL, path)
			return url
		},
		"staticURL": func(path string) string {
			url, _ := url.JoinPath(config.StaticURL, path)
			url, _ := url.JoinPath(conf.StaticURL, path)
			return url
		},
		"buildURL": func(path string) string {
			baseURL := fmt.Sprintf("%s://%s", config.Scheme, config.Domain)
			baseURL := fmt.Sprintf("%s://%s", conf.Scheme, conf.Domain)
			url, _ := url.JoinPath(baseURL, path)
			return url
		},
@@ -332,7 +332,7 @@ func run() error {

	staticHandler := http.FileServer(http.FS(links.StaticFS))
	e.GET("/static/*", echo.WrapHandler(staticHandler))
	e.Static(config.MediaURL, "media")
	e.Static(conf.MediaURL, "media")
	accountGroup := e.Group("/accounts")
	accounts.NewService(accountGroup, links.Render)
	feedback.NewService(e.Group("/email-notify"), &mailChecker, true, "")
@@ -348,7 +348,7 @@ func run() error {
		ExecuteFunc:          links.Execute,
		ParseInputErrorsFunc: links.ParseInputErrors,
	}
	loadGQLDefaults(config, gqlConfig)
	loadGQLDefaults(conf, gqlConfig)
	gqlGroup := e.Group("")
	// Rate limit the /graphql end point to avoid abuse
	gqlGroup.Use(middleware.RateLimiterWithConfig(rlConfig))
diff --git a/cmd/list/main.go b/cmd/list/main.go
index 942ec79..8ebd05a 100644
--- a/cmd/list/main.go
+++ b/cmd/list/main.go
@@ -37,35 +37,35 @@ func main() {
}

func run() error {
	config, err := config.LoadConfig("./config.ini")
	conf, err := config.LoadConfig("./config.ini")
	if err != nil {
		return err
	}

	entropy, ok := config.File.Get("access", "entropy")
	entropy, ok := conf.File.Get("access", "entropy")
	if !ok {
		return fmt.Errorf("No access entropy set. Required value")
	}

	if val, ok := config.File.Get("links", "list-listen-address"); ok {
	if val, ok := conf.File.Get("links", "list-listen-address"); ok {
		if val != "" {
			config.ListenAddr = val
			conf.ListenAddr = val
		}
	}

	if val, ok := config.File.Get("links", "list-listen-port"); ok {
		config.ListenPort, err = strconv.Atoi(val)
	if val, ok := conf.File.Get("links", "list-listen-port"); ok {
		conf.ListenPort, err = strconv.Atoi(val)
		if err != nil {
			return fmt.Errorf("links:list-listen-port must be an integer value")
		}
	}

	eSize, gSize, _, err := cmd.LoadWorkerQueueSizes(config)
	eSize, gSize, _, err := cmd.LoadWorkerQueueSizes(conf)
	if err != nil {
		return err
	}

	db, err := cmd.OpenDB(config)
	db, err := cmd.OpenDB(conf)
	if err != nil {
		return fmt.Errorf("Unable to open connection to PostgreSQL: %v", err)
	}
@@ -84,7 +84,7 @@ func run() error {
		Sessions:      true,
		ServerContext: true,
	}
	srv := server.New(e, db, config).
	srv := server.New(e, db, conf).
		Initialize().
		WithAppInfo("links-list", Version).
		DefaultMiddlewareWithConfig(mwConf).
@@ -100,7 +100,7 @@ func run() error {
			core.CORSReadOnlyMiddleware,
		)

	tlsman := cmd.LoadAutoTLS(config, db, models.DomainServiceList)
	tlsman := cmd.LoadAutoTLS(conf, db, models.DomainServiceList)
	if tlsman != nil {
		srv = srv.WithCertManager(tlsman)
	}
@@ -111,11 +111,11 @@ func run() error {

	srv.AddFuncs(template.FuncMap{
		"staticURL": func(path string) string {
			url, _ := url.JoinPath(config.StaticURL, path)
			url, _ := url.JoinPath(conf.StaticURL, path)
			return url
		},
		"mediaURL": func(path string) string {
			url, _ := url.JoinPath(config.MediaURL, path)
			url, _ := url.JoinPath(conf.MediaURL, path)
			return url
		},
		"stripCommonProtocol": func(url string) string {
@@ -140,7 +140,7 @@ func run() error {

	staticHandler := http.FileServer(http.FS(links.StaticFS))
	e.GET("/static/*", echo.WrapHandler(staticHandler))
	e.Static(config.MediaURL, "media")
	e.Static(conf.MediaURL, "media")

	detailService := e.Group("")
	list.NewDetailService(detailService, links.Render)
diff --git a/cmd/short/main.go b/cmd/short/main.go
index 532e3b8..73e68dc 100644
--- a/cmd/short/main.go
+++ b/cmd/short/main.go
@@ -35,35 +35,35 @@ func main() {
}

func run() error {
	config, err := config.LoadConfig("./config.ini")
	conf, err := config.LoadConfig("./config.ini")
	if err != nil {
		return err
	}

	entropy, ok := config.File.Get("access", "entropy")
	entropy, ok := conf.File.Get("access", "entropy")
	if !ok {
		return fmt.Errorf("No access entropy set. Required value")
	}

	if val, ok := config.File.Get("links", "short-listen-address"); ok {
	if val, ok := conf.File.Get("links", "short-listen-address"); ok {
		if val != "" {
			config.ListenAddr = val
			conf.ListenAddr = val
		}
	}

	if val, ok := config.File.Get("links", "short-listen-port"); ok {
		config.ListenPort, err = strconv.Atoi(val)
	if val, ok := conf.File.Get("links", "short-listen-port"); ok {
		conf.ListenPort, err = strconv.Atoi(val)
		if err != nil {
			return fmt.Errorf("links:short-listen-port must be an integer value")
		}
	}

	eSize, gSize, _, err := cmd.LoadWorkerQueueSizes(config)
	eSize, gSize, _, err := cmd.LoadWorkerQueueSizes(conf)
	if err != nil {
		return err
	}

	db, err := cmd.OpenDB(config)
	db, err := cmd.OpenDB(conf)
	if err != nil {
		return fmt.Errorf("Unable to open connection to PostgreSQL: %v", err)
	}
@@ -82,7 +82,7 @@ func run() error {
		Sessions:      false,
		ServerContext: true,
	}
	srv := server.New(e, db, config).
	srv := server.New(e, db, conf).
		Initialize().
		WithAppInfo("links-short", Version).
		DefaultMiddlewareWithConfig(mwConf).
@@ -98,7 +98,7 @@ func run() error {
			core.CORSReadOnlyMiddleware,
		)

	tlsman := cmd.LoadAutoTLS(config, db, models.DomainServiceShort)
	tlsman := cmd.LoadAutoTLS(conf, db, models.DomainServiceShort)
	if tlsman != nil {
		srv = srv.WithCertManager(tlsman)
	}
@@ -107,7 +107,7 @@ func run() error {
	short.NewRedirectService(redirectService, links.Render)
	srv.AddFuncs(template.FuncMap{
		"staticURL": func(path string) string {
			url, _ := url.JoinPath(config.StaticURL, path)
			url, _ := url.JoinPath(conf.StaticURL, path)
			return url
		},
	})
diff --git a/go.mod b/go.mod
index d74e868..fdc028e 100644
--- a/go.mod
+++ b/go.mod
@@ -36,7 +36,7 @@ require (
	netlandish.com/x/gobwebs v0.1.13
	netlandish.com/x/gobwebs-auditlog v0.2.10
	netlandish.com/x/gobwebs-formguard v0.2.11
	netlandish.com/x/gobwebs-graphql v0.2.11
	netlandish.com/x/gobwebs-graphql v0.2.12
	netlandish.com/x/gobwebs-oauth2 v0.2.11
	netlandish.com/x/gobwebs-ses-feedback v0.2.11
	petersanchez.com/x/carrier v0.2.4
diff --git a/go.sum b/go.sum
index 548627e..6a97581 100644
--- a/go.sum
+++ b/go.sum
@@ -2588,8 +2588,8 @@ netlandish.com/x/gobwebs-auditlog v0.2.10 h1:dzdY58hdS8nD4J5uir9PzavTohWxxWdRb4q
netlandish.com/x/gobwebs-auditlog v0.2.10/go.mod h1:TIiP98U0Mlgtn9ivjbDDg1X+Wnt8zq0hC3Ce7exqtlY=
netlandish.com/x/gobwebs-formguard v0.2.11 h1:/Vc8e1+Wpdd7y8A0wm954w+QOKuOvU6MXwFKXKRARpE=
netlandish.com/x/gobwebs-formguard v0.2.11/go.mod h1:b8b06b14PJMkeq0gjpwAm8qXDVnvYhT5eulkljBGhlQ=
netlandish.com/x/gobwebs-graphql v0.2.11 h1:Q0qAco2JfXzj+qYqUTXdf2uNPqqj66mYwjK4GwuzIkQ=
netlandish.com/x/gobwebs-graphql v0.2.11/go.mod h1:tRfppt6MobMyfgJOhZ2J6Em20X7tGKKTCETeOx/nVvk=
netlandish.com/x/gobwebs-graphql v0.2.12 h1:C85WwEUB/eEFmW5E8KfUwlWtFTzlzTg/Jy6TFxZ/TKc=
netlandish.com/x/gobwebs-graphql v0.2.12/go.mod h1:tRfppt6MobMyfgJOhZ2J6Em20X7tGKKTCETeOx/nVvk=
netlandish.com/x/gobwebs-oauth2 v0.2.11 h1:mI17IoQs8iwLNRtC1lysvMkGShVLNGXyzV96P3eT4n0=
netlandish.com/x/gobwebs-oauth2 v0.2.11/go.mod h1:7h2MfFMo9EJMLXyCNXAinLEOV9omU0uAT4al7+HcWm4=
netlandish.com/x/gobwebs-ses-feedback v0.2.11 h1:STbn+kYib8JhFUq8ZVTYoV973ZTmw5NOXObckFqHoI4=
-- 
2.52.0
Applied.

To git@git.code.netlandish.com:~netlandish/links
   41ae80e..50aab15  master -> master