diff options
author | Alan Pearce | 2024-04-27 20:29:42 +0200 |
---|---|---|
committer | Alan Pearce | 2024-04-27 20:38:36 +0200 |
commit | 300e24c179e390e9d3f5aeab4471c97f17f1fa64 (patch) | |
tree | df83e33aa17fcfd2fe58a232acd7a12f9d9109ee | |
parent | fe2715d330402ad67fe866471bed89c7238ad2ec (diff) | |
download | website-300e24c179e390e9d3f5aeab4471c97f17f1fa64.tar.lz website-300e24c179e390e9d3f5aeab4471c97f17f1fa64.tar.zst website-300e24c179e390e9d3f5aeab4471c97f17f1fa64.zip |
don't panic inside internal packages, return error instead
-rw-r--r-- | internal/builder/builder.go | 2 | ||||
-rw-r--r-- | internal/server/server.go | 13 |
2 files changed, 8 insertions, 7 deletions
diff --git a/internal/builder/builder.go b/internal/builder/builder.go index dd34245..4bb3b21 100644 --- a/internal/builder/builder.go +++ b/internal/builder/builder.go @@ -54,7 +54,7 @@ func build(outDir string, config config.Config) error { PermissionControl: cp.AddPermission(0755), }) if err != nil { - log.Panic(errors.Errorf("could not copy static files: %v", err)) + return errors.WithMessage(err, "could not copy static files") } if err := mkdirp(publicDir, "post"); err != nil { diff --git a/internal/server/server.go b/internal/server/server.go index d22ea62..9c43fdc 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -17,6 +17,7 @@ import ( "github.com/getsentry/sentry-go" sentryhttp "github.com/getsentry/sentry-go/http" + "github.com/pkg/errors" "github.com/shengyanli1982/law" ) @@ -105,20 +106,20 @@ func fixupMIMETypes() { } } -func Start(runtimeConfig *Config) { +func Start(runtimeConfig *Config) error { fixupMIMETypes() - c, err := cfg.GetConfig() + var err error + config, err = cfg.GetConfig() if err != nil { - log.Panicf("parsing configuration file: %v", err) + return nil, errors.WithMessage(err, "error parsing configuration file") } - config = c prefix := path.Join(runtimeConfig.Root, "public") slog.Debug("registering content files", "prefix", prefix) err = registerContentFiles(prefix) if err != nil { - log.Panicf("registering content files: %v", err) + return nil, errors.WithMessagef(err, "registering content files") } env := "development" @@ -133,7 +134,7 @@ func Start(runtimeConfig *Config) { Environment: env, }) if err != nil { - log.Panic("could not set up sentry") + return nil, errors.WithMessage(err, "could not set up sentry") } defer sentry.Flush(2 * time.Second) sentryHandler := sentryhttp.New(sentryhttp.Options{ |