summaryrefslogtreecommitdiff
path: root/plugins/http/plugin.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/http/plugin.go')
-rw-r--r--plugins/http/plugin.go12
1 files changed, 9 insertions, 3 deletions
diff --git a/plugins/http/plugin.go b/plugins/http/plugin.go
index b37a9700..e58f9359 100644
--- a/plugins/http/plugin.go
+++ b/plugins/http/plugin.go
@@ -268,12 +268,18 @@ func (s *Plugin) ServeHTTP(w http.ResponseWriter, r *http.Request) {
}
r = attributes.Init(r)
+ // protect the case, when user send Reset and we are replacing handler with pool
+ s.Lock()
+ f := s.handler.ServeHTTP
+ s.Unlock()
// chaining middleware
- f := s.handler.ServeHTTP
- for _, m := range s.mdwr {
- f = m(f)
+ if len(s.mdwr) > 0 {
+ for i := 0; i < len(s.mdwr); i++ {
+ f = s.mdwr[i](f)
+ }
}
+
f(w, r)
}