refactor server startup
1 file changed, 15 insertions(+), 16 deletions(-)
changed files
M internal/server/server.go → internal/server/server.go
@@ -103,6 +103,13 @@ if err != nil { return nil, err } runtimeConfig.Root = "website" + } else { + tmpdir, err := os.MkdirTemp("", "website") + if err != nil { + return nil, err + } + defer os.RemoveAll(tmpdir) + runtimeConfig.Root = tmpdir } config, err := cfg.GetConfig()@@ -113,15 +120,14 @@ listenAddress := net.JoinHostPort(runtimeConfig.ListenAddress, strconv.Itoa(runtimeConfig.Port)) top := http.NewServeMux() + builderConfig := builder.IOConfig{ + Source: "content", + Destination: runtimeConfig.Root, + Development: runtimeConfig.Development, + } + if runtimeConfig.Development { applyDevModeOverrides(config, listenAddress) - builderConfig := builder.IOConfig{ - Source: "content", - Destination: runtimeConfig.Root, - BaseURL: config.BaseURL, - Development: true, - } - rebuild(builderConfig, config) liveReload := livereload.New() top.Handle("/_/reload", liveReload)@@ -147,22 +153,15 @@ } go fw.Start(func(filename string) { rebuild(builderConfig, config) }) - } else { - builderConfig := builder.IOConfig{ - Source: "content", - Destination: runtimeConfig.Root, - BaseURL: config.BaseURL, - Development: false, - } - rebuild(builderConfig, config) } + + rebuild(builderConfig, config) loggingMux := http.NewServeMux() mux, err := website.NewMux(config, runtimeConfig.Root) if err != nil { return nil, errors.Wrap(err, "could not create website mux") } - log.Debug("binding main handler to", "host", listenAddress) if runtimeConfig.Development || runtimeConfig.Redirect { loggingMux.Handle(config.BaseURL.Hostname()+"/", mux)