diff options
Diffstat (limited to 'plugins/http/serve.go')
-rw-r--r-- | plugins/http/serve.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/plugins/http/serve.go b/plugins/http/serve.go index 338d4339..9bb11e35 100644 --- a/plugins/http/serve.go +++ b/plugins/http/serve.go @@ -233,10 +233,19 @@ func (s *Plugin) tlsAddr(host string, forcePort bool) string { func applyMiddlewares(server *http.Server, middlewares map[string]Middleware, order []string, log logger.Logger) { for i := len(order) - 1; i >= 0; i-- { + // set static last in the row + if order[i] == "static" { + continue + } if mdwr, ok := middlewares[order[i]]; ok { server.Handler = mdwr.Middleware(server.Handler) } else { log.Warn("requested middleware does not exist", "requested", order[i]) } } + + // set static if exists + if mdwr, ok := middlewares["static"]; ok { + server.Handler = mdwr.Middleware(server.Handler) + } } |