diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-03-08 16:33:15 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-03-08 19:57:30 +0100 |
commit | 108314444b510bfc330ccac745dce7beccd52c91 (patch) | |
tree | d689af9dd1c838dd23e3a3b2cb78a65a601f4d9c /commands | |
parent | 51e178a6a28a3f305d89ebb489675743f80862ee (diff) |
Add HTTP header support for the dev server
Fixes #7031
Diffstat (limited to 'commands')
-rw-r--r-- | commands/commandeer.go | 6 | ||||
-rw-r--r-- | commands/server.go | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/commands/commandeer.go b/commands/commandeer.go index 3054ffb74..547bf8bf3 100644 --- a/commands/commandeer.go +++ b/commands/commandeer.go @@ -18,6 +18,8 @@ import ( "errors" "sync" + hconfig "github.com/gohugoio/hugo/config" + "golang.org/x/sync/semaphore" "io/ioutil" @@ -58,7 +60,8 @@ type commandeerHugoState struct { type commandeer struct { *commandeerHugoState - logger *loggers.Logger + logger *loggers.Logger + serverConfig *config.Server // Currently only set when in "fast render mode". But it seems to // be fast enough that we could maybe just add it for all server modes. @@ -343,6 +346,7 @@ func (c *commandeer) loadConfig(mustHaveConfigFile, running bool) error { cfg.Logger = logger c.logger = logger + c.serverConfig = hconfig.DecodeServer(cfg.Cfg) createMemFs := config.GetBool("renderToMemory") diff --git a/commands/server.go b/commands/server.go index 728847492..a22a7a69a 100644 --- a/commands/server.go +++ b/commands/server.go @@ -355,6 +355,10 @@ func (f *fileServer) createEndpoint(i int) (*http.ServeMux, string, string, erro w.Header().Set("Pragma", "no-cache") } + for _, header := range f.c.serverConfig.Match(r.RequestURI) { + w.Header().Set(header.Key, header.Value) + } + if f.c.fastRenderMode && f.c.buildErr == nil { p := r.RequestURI if strings.HasSuffix(p, "/") || strings.HasSuffix(p, "html") || strings.HasSuffix(p, "htm") { |