middleware/proxy: Kill goroutines on stop (#646)

* middleware/proxy: Kill goroutines on stop

Ports caddy's 59bf71c293

Excludes the proxy_test.go test part though.

Fixes #644

* Add tests
This commit is contained in:
Miek Gieben
2017-04-26 10:58:14 +01:00
committed by GitHub
parent 003b1bf678
commit 3b5b6a233f
5 changed files with 112 additions and 5 deletions

View File

@@ -21,6 +21,8 @@ func NewLookup(hosts []string) Proxy {
func NewLookupWithOption(hosts []string, opts Options) Proxy {
p := Proxy{Next: nil}
// TODO(miek): this needs to be unified with upstream.go's NewStaticUpstreams, caddy uses NewHost
// we should copy/make something similar.
upstream := &staticUpstream{
from: ".",
Hosts: make([]*UpstreamHost, len(hosts)),