Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add $host pseudo variable #544

Merged
merged 1 commit into from
Sep 12, 2018
Merged

Conversation

holtwilkins
Copy link
Contributor

This adds support for $host, which behaves similarly to $path. The idea with this is to be able to create a global redirect of anything received on, say, http to the https equivalent of what you were trying to hit.

@CLAassistant
Copy link

CLAassistant commented Sep 4, 2018

CLA assistant check
All committers have signed the CLA.

@holtwilkins holtwilkins mentioned this pull request Sep 4, 2018
@holtwilkins
Copy link
Contributor Author

Fixes #533

@holtwilkins holtwilkins force-pushed the host-pseudo-var branch 2 times, most recently from 2db510b to 695ecb2 Compare September 4, 2018 00:59
@holtwilkins holtwilkins changed the title Add $path pseudo variable Add $host pseudo variable Sep 4, 2018
This adds support for $host, which behaves similarly to $path.  The idea with this is to be able to create a global redirect of anything received on, say, http to the https equivalent of what you were trying to hit.
@aaronhurt
Copy link
Member

@holtwilkins looks good. Would you mind attaching a make test run?

@holtwilkins
Copy link
Contributor Author

hey @leprechau it's failing a consul/vault test, not sure if that's normal or not

gofmt -s -w `find . -type f -name '*.go' | grep -v vendor`
go build
go test -v -test.timeout 15s `go list ./... | grep -v '/vendor/'`
?   	github.com/fabiolb/fabio	[no test files]
=== RUN   TestAdminServerAccess
=== RUN   TestAdminServerAccess/ro/api/manual
=== RUN   TestAdminServerAccess/ro/api/paths
=== RUN   TestAdminServerAccess/ro/api/config
=== RUN   TestAdminServerAccess/ro/api/routes
=== RUN   TestAdminServerAccess/ro/api/version
=== RUN   TestAdminServerAccess/ro/manual
=== RUN   TestAdminServerAccess/ro/routes
=== RUN   TestAdminServerAccess/ro/health
=== RUN   TestAdminServerAccess/ro/logo.svg
=== RUN   TestAdminServerAccess/ro/
=== RUN   TestAdminServerAccess/rw/api/manual
=== RUN   TestAdminServerAccess/rw/api/paths
=== RUN   TestAdminServerAccess/rw/api/config
=== RUN   TestAdminServerAccess/rw/api/routes
=== RUN   TestAdminServerAccess/rw/api/version
=== RUN   TestAdminServerAccess/rw/manual
=== RUN   TestAdminServerAccess/rw/routes
=== RUN   TestAdminServerAccess/rw/health
=== RUN   TestAdminServerAccess/rw/logo.svg
=== RUN   TestAdminServerAccess/rw/
--- PASS: TestAdminServerAccess (0.03s)
    --- PASS: TestAdminServerAccess/ro/api/manual (0.00s)
    --- PASS: TestAdminServerAccess/ro/api/paths (0.00s)
    --- PASS: TestAdminServerAccess/ro/api/config (0.00s)
    --- PASS: TestAdminServerAccess/ro/api/routes (0.00s)
    --- PASS: TestAdminServerAccess/ro/api/version (0.00s)
    --- PASS: TestAdminServerAccess/ro/manual (0.00s)
    --- PASS: TestAdminServerAccess/ro/routes (0.00s)
    --- PASS: TestAdminServerAccess/ro/health (0.00s)
    --- PASS: TestAdminServerAccess/ro/logo.svg (0.00s)
    --- PASS: TestAdminServerAccess/ro/ (0.00s)
    --- PASS: TestAdminServerAccess/rw/api/manual (0.00s)
    --- PASS: TestAdminServerAccess/rw/api/paths (0.00s)
    --- PASS: TestAdminServerAccess/rw/api/config (0.00s)
    --- PASS: TestAdminServerAccess/rw/api/routes (0.00s)
    --- PASS: TestAdminServerAccess/rw/api/version (0.00s)
    --- PASS: TestAdminServerAccess/rw/manual (0.00s)
    --- PASS: TestAdminServerAccess/rw/routes (0.00s)
    --- PASS: TestAdminServerAccess/rw/health (0.00s)
    --- PASS: TestAdminServerAccess/rw/logo.svg (0.00s)
    --- PASS: TestAdminServerAccess/rw/ (0.00s)
PASS
ok  	github.com/fabiolb/fabio/admin	(cached)
?   	github.com/fabiolb/fabio/admin/api	[no test files]
?   	github.com/fabiolb/fabio/admin/ui	[no test files]
?   	github.com/fabiolb/fabio/assert	[no test files]
=== RUN   TestParseConsulURL
=== RUN   TestParseConsulURL/empty_url
=== RUN   TestParseConsulURL/invalid_url
=== RUN   TestParseConsulURL/no_kv_store_url
=== RUN   TestParseConsulURL/url_without_token
=== RUN   TestParseConsulURL/https_url
=== RUN   TestParseConsulURL/url_with_token
--- PASS: TestParseConsulURL (0.00s)
    --- PASS: TestParseConsulURL/empty_url (0.00s)
    --- PASS: TestParseConsulURL/invalid_url (0.00s)
    --- PASS: TestParseConsulURL/no_kv_store_url (0.00s)
    --- PASS: TestParseConsulURL/url_without_token (0.00s)
    --- PASS: TestParseConsulURL/https_url (0.00s)
    --- PASS: TestParseConsulURL/url_with_token (0.00s)
=== RUN   TestBase
--- PASS: TestBase (0.00s)
=== RUN   TestReplaceSuffix
--- PASS: TestReplaceSuffix (0.00s)
=== RUN   TestUpgradeCACertificate
2018/09/12 08:53:59 [INFO] cert: Upgrading cert ApiGateway to CA cert
--- PASS: TestUpgradeCACertificate (0.00s)
=== RUN   TestTLSConfig
--- PASS: TestTLSConfig (0.03s)
=== RUN   TestNewSource
=== RUN   TestNewSource/invalid
=== RUN   TestNewSource/file
=== RUN   TestNewSource/path
=== RUN   TestNewSource/http
=== RUN   TestNewSource/consul
=== RUN   TestNewSource/vault
--- PASS: TestNewSource (0.00s)
    --- PASS: TestNewSource/invalid (0.00s)
    --- PASS: TestNewSource/file (0.00s)
    --- PASS: TestNewSource/path (0.00s)
    --- PASS: TestNewSource/http (0.00s)
    --- PASS: TestNewSource/consul (0.00s)
    --- PASS: TestNewSource/vault (0.00s)
2018/09/12 08:53:59 [INFO] cert: Store has certificates for ["localhost"]
=== RUN   TestStaticSource
--- PASS: TestStaticSource (0.07s)
=== RUN   TestFileSource
--- PASS: TestFileSource (0.08s)
=== RUN   TestPathSource
2018/09/12 08:54:00 [INFO] cert: Store has certificates for ["localhost"]
--- PASS: TestPathSource (0.11s)
=== RUN   TestHTTPSource
2018/09/12 08:54:00 [INFO] cert: Store has certificates for ["localhost"]
--- PASS: TestHTTPSource (0.64s)
=== RUN   TestConsulSource
--- FAIL: TestConsulSource (12.10s)
    source_test.go:240: Starting consul: Consul v1.2.2
    source_test.go:261: Timeout waiting for consul server after 12.1 seconds
=== RUN   TestVaultSource
--- FAIL: TestVaultSource (0.22s)
    source_test.go:305: Starting vault: "Vault v0.11.0 ('87492f9258e0227f3717e3883c6a8be5716bf564+CHANGES')\n"
    source_test.go:429: logical.Write failed: Error making API request.

        URL: PUT http://127.0.0.1:58421/v1/secret/fabio/cert/localhost
        Code: 404. Errors:

=== RUN   TestVaultPKISource
=== RUN   TestVaultPKISource/renewable_token
=== RUN   TestVaultPKISource/non-renewable_token
=== RUN   TestVaultPKISource/renewable_orphan_token
panic: test timed out after 15s

goroutine 917 [running]:
testing.(*M).startAlarm.func1()
	/usr/local/Cellar/go/1.11/libexec/src/testing/testing.go:1296 +0xfd
created by time.goFunc
	/usr/local/Cellar/go/1.11/libexec/src/time/sleep.go:172 +0x44

goroutine 1 [chan receive]:
testing.(*T).Run(0xc000176000, 0x13cac53, 0x12, 0x13df5e0, 0x107b000)
	/usr/local/Cellar/go/1.11/libexec/src/testing/testing.go:879 +0x37a
testing.runTests.func1(0xc00011a100)
	/usr/local/Cellar/go/1.11/libexec/src/testing/testing.go:1119 +0x78
testing.tRunner(0xc00011a100, 0xc0000b3e08)
	/usr/local/Cellar/go/1.11/libexec/src/testing/testing.go:827 +0xbf
testing.runTests(0xc000140340, 0x1678be0, 0xe, 0xe, 0x100d4ff)
	/usr/local/Cellar/go/1.11/libexec/src/testing/testing.go:1117 +0x2aa
testing.(*M).Run(0xc000116c00, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/testing/testing.go:1034 +0x165
main.main()
	_testmain.go:68 +0x13d

goroutine 35 [syscall]:
os/signal.signal_recv(0x0)
	/usr/local/Cellar/go/1.11/libexec/src/runtime/sigqueue.go:139 +0x9f
os/signal.loop()
	/usr/local/Cellar/go/1.11/libexec/src/os/signal/signal_unix.go:23 +0x22
created by os/signal.init.0
	/usr/local/Cellar/go/1.11/libexec/src/os/signal/signal_unix.go:29 +0x41

goroutine 248 [select]:
net/http.(*persistConn).readLoop(0xc0000ca5a0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 173 [select]:
net/http.(*persistConn).readLoop(0xc000270120)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 198 [select]:
net/http.(*persistConn).writeLoop(0xc000270360)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 251 [select]:
net/http.(*persistConn).writeLoop(0xc0000ca6c0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 174 [select]:
net/http.(*persistConn).writeLoop(0xc000270120)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 355 [select]:
net/http.(*persistConn).writeLoop(0xc0000cb200)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 220 [select]:
net/http.(*persistConn).readLoop(0xc0000ca7e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 177 [select]:
net/http.(*persistConn).readLoop(0xc0004ec240)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 310 [select]:
net/http.(*persistConn).readLoop(0xc0000ca900)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 605 [chan receive]:
testing.(*T).Run(0xc000169700, 0x13ccae9, 0x16, 0xc000576190, 0x1)
	/usr/local/Cellar/go/1.11/libexec/src/testing/testing.go:879 +0x37a
github.com/fabiolb/fabio/cert.TestVaultPKISource(0xc000176000)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/source_test.go:501 +0x868
testing.tRunner(0xc000176000, 0x13df5e0)
	/usr/local/Cellar/go/1.11/libexec/src/testing/testing.go:827 +0xbf
created by testing.(*T).Run
	/usr/local/Cellar/go/1.11/libexec/src/testing/testing.go:878 +0x353

goroutine 226 [select]:
net/http.(*persistConn).writeLoop(0xc0004ec240)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 191 [select]:
net/http.(*persistConn).writeLoop(0xc0004ec360)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 147 [chan receive]:
github.com/fabiolb/fabio/cert.TLSConfig.func2(0x14291c0, 0xc00038e240, 0xc0004dc5d0)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/source.go:145 +0xa7
created by github.com/fabiolb/fabio/cert.TLSConfig
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/source.go:144 +0x1fa

goroutine 247 [select]:
net/http.(*persistConn).writeLoop(0xc000192480)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 317 [select]:
net/http.(*persistConn).writeLoop(0xc0000caea0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 125 [chan receive]:
github.com/fabiolb/fabio/cert.TLSConfig.func2(0x1429200, 0xc000355e00, 0xc000317d10)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/source.go:145 +0xa7
created by github.com/fabiolb/fabio/cert.TLSConfig
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/source.go:144 +0x1fa

goroutine 176 [select]:
net/http.(*persistConn).writeLoop(0xc0004ec120)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 314 [select]:
net/http.(*persistConn).readLoop(0xc0000cad80)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 206 [select]:
net/http.(*persistConn).writeLoop(0xc0004ecfc0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 250 [select]:
net/http.(*persistConn).readLoop(0xc0000ca6c0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 236 [select]:
net/http.(*persistConn).writeLoop(0xc0002705a0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 175 [select]:
net/http.(*persistConn).readLoop(0xc0004ec120)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 228 [select]:
net/http.(*persistConn).writeLoop(0xc0004ec480)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 244 [select]:
net/http.(*persistConn).readLoop(0xc000192240)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 190 [select]:
net/http.(*persistConn).readLoop(0xc0004ec360)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 217 [select]:
net/http.(*persistConn).writeLoop(0xc0004ec5a0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 214 [select]:
net/http.(*persistConn).readLoop(0xc000270240)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 215 [select]:
net/http.(*persistConn).writeLoop(0xc000270240)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 227 [select]:
net/http.(*persistConn).readLoop(0xc0004ec480)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 253 [select]:
net/http.(*persistConn).writeLoop(0xc0002706c0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 216 [select]:
net/http.(*persistConn).readLoop(0xc0004ec5a0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 245 [select]:
net/http.(*persistConn).writeLoop(0xc000192240)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 249 [select]:
net/http.(*persistConn).writeLoop(0xc0000ca5a0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 246 [select]:
net/http.(*persistConn).readLoop(0xc000192480)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 197 [select]:
net/http.(*persistConn).readLoop(0xc000270360)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 221 [select]:
net/http.(*persistConn).writeLoop(0xc0000ca7e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 233 [select]:
net/http.(*persistConn).readLoop(0xc000270480)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 234 [select]:
net/http.(*persistConn).writeLoop(0xc000270480)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 238 [select]:
net/http.(*persistConn).writeLoop(0xc0004ec7e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 235 [select]:
net/http.(*persistConn).readLoop(0xc0002705a0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 263 [select]:
net/http.(*persistConn).writeLoop(0xc0004ec900)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 252 [select]:
net/http.(*persistConn).readLoop(0xc0002706c0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 260 [select]:
net/http.(*persistConn).readLoop(0xc0004ec6c0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 261 [select]:
net/http.(*persistConn).writeLoop(0xc0004ec6c0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 287 [select]:
net/http.(*persistConn).writeLoop(0xc0001927e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 237 [select]:
net/http.(*persistConn).readLoop(0xc0004ec7e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 265 [select]:
net/http.(*persistConn).writeLoop(0xc0001925a0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 262 [select]:
net/http.(*persistConn).readLoop(0xc0004ec900)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 264 [select]:
net/http.(*persistConn).readLoop(0xc0001925a0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 292 [select]:
net/http.(*persistConn).writeLoop(0xc0002707e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 241 [select]:
net/http.(*persistConn).readLoop(0xc0004eca20)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 290 [select]:
net/http.(*persistConn).writeLoop(0xc0004eca20)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 291 [select]:
net/http.(*persistConn).readLoop(0xc0002707e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 273 [select]:
net/http.(*persistConn).writeLoop(0xc0004ecc60)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 278 [select]:
net/http.(*persistConn).readLoop(0xc000270900)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 279 [select]:
net/http.(*persistConn).writeLoop(0xc000270900)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 270 [select]:
net/http.(*persistConn).readLoop(0xc0004ecb40)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 271 [select]:
net/http.(*persistConn).writeLoop(0xc0004ecb40)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 323 [select]:
net/http.(*persistConn).writeLoop(0xc0004ecea0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 272 [select]:
net/http.(*persistConn).readLoop(0xc0004ecc60)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 284 [select]:
net/http.(*persistConn).readLoop(0xc0001926c0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 285 [select]:
net/http.(*persistConn).writeLoop(0xc0001926c0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 325 [select]:
net/http.(*persistConn).writeLoop(0xc00036ad80)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 286 [select]:
net/http.(*persistConn).readLoop(0xc0001927e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 306 [select]:
net/http.(*persistConn).readLoop(0xc0004ecd80)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 307 [select]:
net/http.(*persistConn).writeLoop(0xc0004ecd80)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 322 [select]:
net/http.(*persistConn).readLoop(0xc0004ecea0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 311 [select]:
net/http.(*persistConn).writeLoop(0xc0000ca900)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 205 [select]:
net/http.(*persistConn).readLoop(0xc0004ecfc0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 315 [select]:
net/http.(*persistConn).writeLoop(0xc0000cad80)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 316 [select]:
net/http.(*persistConn).readLoop(0xc0000caea0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 304 [select]:
net/http.(*persistConn).writeLoop(0xc0000cb8c0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 297 [select]:
net/http.(*persistConn).readLoop(0xc0000cafc0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 298 [select]:
net/http.(*persistConn).writeLoop(0xc0000cafc0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 320 [select]:
net/http.(*persistConn).readLoop(0xc0004ed0e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 321 [select]:
net/http.(*persistConn).writeLoop(0xc0004ed0e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 357 [select]:
net/http.(*persistConn).writeLoop(0xc0000cb680)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 343 [select]:
net/http.(*persistConn).readLoop(0xc0000cb0e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 344 [select]:
net/http.(*persistConn).writeLoop(0xc0000cb0e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 354 [select]:
net/http.(*persistConn).readLoop(0xc0000cb200)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 363 [select]:
net/http.(*persistConn).writeLoop(0xc000192a20)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 356 [select]:
net/http.(*persistConn).readLoop(0xc0000cb680)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 365 [select]:
net/http.(*persistConn).writeLoop(0xc0000cbb00)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 351 [select]:
net/http.(*persistConn).readLoop(0xc0000cb7a0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 352 [select]:
net/http.(*persistConn).writeLoop(0xc0000cb7a0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 360 [select]:
net/http.(*persistConn).readLoop(0xc0004ed200)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 361 [select]:
net/http.(*persistConn).writeLoop(0xc0004ed200)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 301 [select]:
net/http.(*persistConn).readLoop(0xc000192900)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 302 [select]:
net/http.(*persistConn).writeLoop(0xc000192900)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 303 [select]:
net/http.(*persistConn).readLoop(0xc0000cb8c0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 362 [select]:
net/http.(*persistConn).readLoop(0xc000192a20)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 438 [select]:
net/http.(*persistConn).writeLoop(0xc00036a240)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 371 [select]:
net/http.(*persistConn).readLoop(0xc000192b40)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 372 [select]:
net/http.(*persistConn).writeLoop(0xc000192b40)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 389 [select]:
net/http.(*persistConn).readLoop(0xc0000cb9e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 390 [select]:
net/http.(*persistConn).writeLoop(0xc0000cb9e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 403 [select]:
net/http.(*persistConn).writeLoop(0xc000192c60)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 364 [select]:
net/http.(*persistConn).readLoop(0xc0000cbb00)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 377 [select]:
net/http.(*persistConn).readLoop(0xc0004ed320)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 378 [select]:
net/http.(*persistConn).writeLoop(0xc0004ed320)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 368 [select]:
net/http.(*persistConn).readLoop(0xc0000cbc20)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 369 [select]:
net/http.(*persistConn).writeLoop(0xc0000cbc20)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 402 [select]:
net/http.(*persistConn).readLoop(0xc000192c60)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 406 [select]:
net/http.(*persistConn).readLoop(0xc0004ed440)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 407 [select]:
net/http.(*persistConn).writeLoop(0xc0004ed440)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 400 [select]:
net/http.(*persistConn).writeLoop(0xc0004ed560)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 383 [select]:
net/http.(*persistConn).readLoop(0xc0000cbd40)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 384 [select]:
net/http.(*persistConn).writeLoop(0xc0000cbd40)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 398 [select]:
net/http.(*persistConn).writeLoop(0xc0000cbe60)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 395 [select]:
net/http.(*persistConn).readLoop(0xc000192d80)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 396 [select]:
net/http.(*persistConn).writeLoop(0xc000192d80)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 397 [select]:
net/http.(*persistConn).readLoop(0xc0000cbe60)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 399 [select]:
net/http.(*persistConn).readLoop(0xc0004ed560)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 410 [select]:
net/http.(*persistConn).readLoop(0xc000192ea0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 411 [select]:
net/http.(*persistConn).writeLoop(0xc000192ea0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 435 [select]:
net/http.(*persistConn).readLoop(0xc0004ed680)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 436 [select]:
net/http.(*persistConn).writeLoop(0xc0004ed680)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 440 [select]:
net/http.(*persistConn).writeLoop(0xc0004ed8c0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 437 [select]:
net/http.(*persistConn).readLoop(0xc00036a240)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 424 [select]:
net/http.(*persistConn).writeLoop(0xc0004edc20)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 421 [select]:
net/http.(*persistConn).readLoop(0xc0004ed7a0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 422 [select]:
net/http.(*persistConn).writeLoop(0xc0004ed7a0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 442 [select]:
net/http.(*persistConn).writeLoop(0xc0004ed9e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 439 [select]:
net/http.(*persistConn).readLoop(0xc0004ed8c0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 426 [select]:
net/http.(*persistConn).writeLoop(0xc0004edd40)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 441 [select]:
net/http.(*persistConn).readLoop(0xc0004ed9e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 452 [select]:
net/http.(*persistConn).readLoop(0xc000192fc0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 453 [select]:
net/http.(*persistConn).writeLoop(0xc000192fc0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 456 [select]:
net/http.(*persistConn).readLoop(0xc0004edb00)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 457 [select]:
net/http.(*persistConn).writeLoop(0xc0004edb00)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 423 [select]:
net/http.(*persistConn).readLoop(0xc0004edc20)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 428 [select]:
net/http.(*persistConn).writeLoop(0xc0004ede60)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 460 [select]:
net/http.(*persistConn).readLoop(0xc0001930e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 461 [select]:
net/http.(*persistConn).writeLoop(0xc0001930e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 425 [select]:
net/http.(*persistConn).readLoop(0xc0004edd40)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 471 [select]:
net/http.(*persistConn).writeLoop(0xc00036a7e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 427 [select]:
net/http.(*persistConn).readLoop(0xc0004ede60)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 447 [select]:
net/http.(*persistConn).readLoop(0xc00036a360)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 448 [select]:
net/http.(*persistConn).writeLoop(0xc00036a360)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 469 [select]:
net/http.(*persistConn).writeLoop(0xc000193200)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 466 [select]:
net/http.(*persistConn).readLoop(0xc00036a480)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 467 [select]:
net/http.(*persistConn).writeLoop(0xc00036a480)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 468 [select]:
net/http.(*persistConn).readLoop(0xc000193200)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 473 [select]:
net/http.(*persistConn).writeLoop(0xc000193320)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 499 [select]:
net/http.(*persistConn).readLoop(0xc00036a6c0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 500 [select]:
net/http.(*persistConn).writeLoop(0xc00036a6c0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 470 [select]:
net/http.(*persistConn).readLoop(0xc00036a7e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 508 [select]:
net/http.(*persistConn).writeLoop(0xc000193440)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 483 [select]:
net/http.(*persistConn).readLoop(0xc00036a900)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 484 [select]:
net/http.(*persistConn).writeLoop(0xc00036a900)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 472 [select]:
net/http.(*persistConn).readLoop(0xc000193320)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 476 [select]:
net/http.(*persistConn).readLoop(0xc0002a6000)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 477 [select]:
net/http.(*persistConn).writeLoop(0xc0002a6000)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 505 [select]:
net/http.(*persistConn).readLoop(0xc0002a6120)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 506 [select]:
net/http.(*persistConn).writeLoop(0xc0002a6120)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 510 [select]:
net/http.(*persistConn).writeLoop(0xc0002a6240)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 507 [select]:
net/http.(*persistConn).readLoop(0xc000193440)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 512 [select]:
net/http.(*persistConn).writeLoop(0xc000193560)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 509 [select]:
net/http.(*persistConn).readLoop(0xc0002a6240)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 532 [select]:
net/http.(*persistConn).writeLoop(0xc0001937a0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 516 [select]:
net/http.(*persistConn).readLoop(0xc0002a6360)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 517 [select]:
net/http.(*persistConn).writeLoop(0xc0002a6360)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 530 [select]:
net/http.(*persistConn).writeLoop(0xc000193680)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 511 [select]:
net/http.(*persistConn).readLoop(0xc000193560)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 513 [select]:
net/http.(*persistConn).readLoop(0xc000193680)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 534 [select]:
net/http.(*persistConn).writeLoop(0xc0001939e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 531 [select]:
net/http.(*persistConn).readLoop(0xc0001937a0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 522 [select]:
net/http.(*persistConn).writeLoop(0xc000193b00)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 519 [select]:
net/http.(*persistConn).readLoop(0xc0001938c0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 520 [select]:
net/http.(*persistConn).writeLoop(0xc0001938c0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 536 [select]:
net/http.(*persistConn).writeLoop(0xc000193c20)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 533 [select]:
net/http.(*persistConn).readLoop(0xc0001939e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 553 [select]:
net/http.(*persistConn).writeLoop(0xc000270b40)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 521 [select]:
net/http.(*persistConn).readLoop(0xc000193b00)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 562 [select]:
net/http.(*persistConn).writeLoop(0xc0002a65a0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 535 [select]:
net/http.(*persistConn).readLoop(0xc000193c20)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 539 [select]:
net/http.(*persistConn).readLoop(0xc00036aa20)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 540 [select]:
net/http.(*persistConn).writeLoop(0xc00036aa20)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 550 [select]:
net/http.(*persistConn).readLoop(0xc0002a6480)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 551 [select]:
net/http.(*persistConn).writeLoop(0xc0002a6480)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 543 [select]:
net/http.(*persistConn).readLoop(0xc00036ac60)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 544 [select]:
net/http.(*persistConn).writeLoop(0xc00036ac60)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 327 [select]:
net/http.(*persistConn).writeLoop(0xc00036aea0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 545 [select]:
net/http.(*persistConn).readLoop(0xc0002a65a0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 324 [select]:
net/http.(*persistConn).readLoop(0xc00036ad80)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 570 [select]:
net/http.(*persistConn).writeLoop(0xc000270ea0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 326 [select]:
net/http.(*persistConn).readLoop(0xc00036aea0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 567 [select]:
net/http.(*persistConn).readLoop(0xc000270a20)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 568 [select]:
net/http.(*persistConn).writeLoop(0xc000270a20)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 335 [select]:
net/http.(*persistConn).writeLoop(0xc000193e60)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 552 [select]:
net/http.(*persistConn).readLoop(0xc000270b40)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 332 [select]:
net/http.(*persistConn).readLoop(0xc000193d40)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 333 [select]:
net/http.(*persistConn).writeLoop(0xc000193d40)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 611 [select]:
net/http.(*persistConn).readLoop(0xc000270fc0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 334 [select]:
net/http.(*persistConn).readLoop(0xc000193e60)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 578 [select]:
net/http.(*persistConn).readLoop(0xc000270c60)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 579 [select]:
net/http.(*persistConn).writeLoop(0xc000270c60)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 558 [select]:
net/http.(*persistConn).readLoop(0xc000270d80)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 559 [select]:
net/http.(*persistConn).writeLoop(0xc000270d80)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 587 [select]:
net/http.(*persistConn).writeLoop(0xc00036b0e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 569 [select]:
net/http.(*persistConn).readLoop(0xc000270ea0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 584 [select]:
net/http.(*persistConn).readLoop(0xc00036afc0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 585 [select]:
net/http.(*persistConn).writeLoop(0xc00036afc0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 573 [select]:
net/http.(*persistConn).readLoop(0xc000516000)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 574 [select]:
net/http.(*persistConn).writeLoop(0xc000516000)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 586 [select]:
net/http.(*persistConn).readLoop(0xc00036b0e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 596 [select]:
net/http.(*persistConn).readLoop(0xc000516120)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 597 [select]:
net/http.(*persistConn).writeLoop(0xc000516120)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 589 [select]:
net/http.(*persistConn).writeLoop(0xc00036b200)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 600 [select]:
net/http.(*persistConn).readLoop(0xc000516240)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 601 [select]:
net/http.(*persistConn).writeLoop(0xc000516240)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 614 [select]:
net/http.(*persistConn).writeLoop(0xc0002a66c0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 588 [select]:
net/http.(*persistConn).readLoop(0xc00036b200)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 612 [select]:
net/http.(*persistConn).writeLoop(0xc000270fc0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 616 [select]:
net/http.(*persistConn).writeLoop(0xc0002a67e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 613 [select]:
net/http.(*persistConn).readLoop(0xc0002a66c0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 630 [select]:
net/http.(*persistConn).writeLoop(0xc00036b560)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 615 [select]:
net/http.(*persistConn).readLoop(0xc0002a67e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 627 [select]:
net/http.(*persistConn).readLoop(0xc00036b320)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 628 [select]:
net/http.(*persistConn).writeLoop(0xc00036b320)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 622 [select]:
net/http.(*persistConn).writeLoop(0xc000271200)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 619 [select]:
net/http.(*persistConn).readLoop(0xc0002710e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 620 [select]:
net/http.(*persistConn).writeLoop(0xc0002710e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 836 [select]:
net/http.(*Transport).getConn(0xc0008e4900, 0xc0002fadb0, 0x0, 0xc000751700, 0x5, 0xc00048b6c1, 0xf, 0x0, 0x0, 0xc0004d1ee0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1004 +0x58e
net/http.(*Transport).roundTrip(0xc0008e4900, 0xc000169a00, 0x203000, 0xc0008f3a60, 0x127daca)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:451 +0x690
net/http.(*Transport).RoundTrip(0xc0008e4900, 0xc000169a00, 0xc0008e4900, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/roundtrip.go:17 +0x35
net/http.send(0xc000169a00, 0x1426340, 0xc0008e4900, 0x0, 0x0, 0x0, 0xc000290120, 0xc0002fac30, 0xc0008f3af0, 0x1)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:250 +0x14b
net/http.(*Client).send(0xc0003fe000, 0xc000169a00, 0x0, 0x0, 0x0, 0xc000290120, 0x0, 0x1, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:174 +0xfa
net/http.(*Client).do(0xc0003fe000, 0xc000169a00, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:641 +0x2a8
net/http.(*Client).Do(0xc0003fe000, 0xc000169a00, 0xc000751700, 0x17, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:509 +0x35
net/http.(*Client).Get(0xc0003fe000, 0xc000751700, 0x17, 0x100e95d, 0x13aa860, 0xc00008d040)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:398 +0x9d
github.com/fabiolb/fabio/cert.roundtrip(0x13c7cce, 0x9, 0xc00083ca80, 0xc0003fe000, 0x0, 0x0, 0x0, 0x0, 0x0)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/source_test.go:600 +0x124
github.com/fabiolb/fabio/cert.testSource.func2(0xc0003fe000, 0x13c84b4, 0xb)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/source_test.go:562 +0x67
github.com/fabiolb/fabio/cert.testSource(0xc000169700, 0x1428000, 0xc0001ad020, 0xc0001c8330, 0x0)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/source_test.go:575 +0x310
github.com/fabiolb/fabio/cert.TestVaultPKISource.func1(0xc000169700)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/source_test.go:512 +0x1af
testing.tRunner(0xc000169700, 0xc000576190)
	/usr/local/Cellar/go/1.11/libexec/src/testing/testing.go:827 +0xbf
created by testing.(*T).Run
	/usr/local/Cellar/go/1.11/libexec/src/testing/testing.go:878 +0x353

goroutine 621 [select]:
net/http.(*persistConn).readLoop(0xc000271200)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 644 [select]:
net/http.(*persistConn).readLoop(0xc00036b440)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 645 [select]:
net/http.(*persistConn).writeLoop(0xc00036b440)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 632 [select]:
net/http.(*persistConn).writeLoop(0xc00036b680)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 629 [select]:
net/http.(*persistConn).readLoop(0xc00036b560)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 631 [select]:
net/http.(*persistConn).readLoop(0xc00036b680)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 661 [select]:
net/http.(*persistConn).readLoop(0xc0002a6900)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1761 +0x6b9
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 662 [select]:
net/http.(*persistConn).writeLoop(0xc0002a6900)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 816 [select]:
net/http.(*persistConn).roundTrip(0xc00036b9e0, 0xc000996ab0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:2101 +0x56a
net/http.(*Transport).roundTrip(0xc0002a7200, 0xc0001dae00, 0xc000996a80, 0xc0008a5c88, 0xc0008a5c90)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:465 +0x9b1
net/http.(*Transport).RoundTrip(0xc0002a7200, 0xc0001dae00, 0xc0002a7200, 0xbede2fd4acfefb60, 0x1172b1f751)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/roundtrip.go:17 +0x35
net/http.send(0xc0001dad00, 0x1426340, 0xc0002a7200, 0xbede2fd4acfefb60, 0x1172b1f751, 0x167ec00, 0xc00000e100, 0xbede2fd4acfefb60, 0xc000882888, 0x1)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:250 +0x14b
net/http.(*Client).send(0xc0001c8ab0, 0xc0001dad00, 0xbede2fd4acfefb60, 0x1172b1f751, 0x167ec00, 0xc00000e100, 0x0, 0x1, 0x1)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:174 +0xfa
net/http.(*Client).do(0xc0001c8ab0, 0xc0001dad00, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:641 +0x2a8
net/http.(*Client).Do(0xc0001c8ab0, 0xc0001dad00, 0x0, 0x0, 0xc000761110)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:509 +0x35
github.com/fabiolb/fabio/vendor/github.com/hashicorp/vault/api.(*Client).RawRequest(0xc0002da960, 0xc0007610a0, 0xc000996930, 0x0, 0x0)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/vendor/github.com/hashicorp/vault/api/client.go:277 +0x7d
github.com/fabiolb/fabio/vendor/github.com/hashicorp/vault/api.(*Logical).Write(0xc000882cc8, 0x13cbed1, 0x14, 0xc000996930, 0x0, 0x0, 0x0)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/vendor/github.com/hashicorp/vault/api/logical.go:62 +0x10f
github.com/fabiolb/fabio/cert.(*VaultPKISource).Issue(0xc00040a5a0, 0xc00001bab7, 0x9, 0x1, 0x0, 0x0)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/vault_pki_source.go:62 +0x208
github.com/fabiolb/fabio/cert.(*VaultPKISource).Issue.func1()
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/vault_pki_source.go:114 +0x58
created by time.goFunc
	/usr/local/Cellar/go/1.11/libexec/src/time/sleep.go:172 +0x44

goroutine 840 [chan receive]:
net/http.(*persistConn).addTLS(0xc0002a6c60, 0xc00048b6c1, 0x9, 0x0, 0xc00048b6cb, 0x5)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1177 +0x1a7
net/http.(*Transport).dialConn(0xc0008e4900, 0x142a000, 0xc000090008, 0x0, 0xc000751700, 0x5, 0xc00048b6c1, 0xf, 0x0, 0xc0004af5c0, ...)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1250 +0x15ad
net/http.(*Transport).getConn.func4(0xc0008e4900, 0x142a000, 0xc000090008, 0xc0002fae40, 0xc0004af7a0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:999 +0x6e
created by net/http.(*Transport).getConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:998 +0x3d7

goroutine 898 [select]:
net/http.(*persistConn).writeLoop(0xc00036b9e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 846 [select]:
net/http.setRequestCancel.func3(0x0, 0xc0004cb1d0, 0xc00074bd60, 0xc000791890, 0xc000309200)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:321 +0xcf
created by net/http.setRequestCancel
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:320 +0x24e

goroutine 855 [select]:
net/http.(*persistConn).writeLoop(0xc000271680)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 750 [chan receive]:
github.com/fabiolb/fabio/cert.TLSConfig.func2(0x1428000, 0xc000386f60, 0xc000165bd0)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/source.go:145 +0xa7
created by github.com/fabiolb/fabio/cert.TLSConfig
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/source.go:144 +0x1fa

goroutine 689 [chan receive]:
github.com/fabiolb/fabio/cert.(*vaultClient).keepTokenAlive(0xc0004ca420)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/vault_client.go:118 +0x219
created by github.com/fabiolb/fabio/cert.(*vaultClient).Get
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/vault_client.go:70 +0x276

goroutine 849 [IO wait]:
internal/poll.runtime_pollWait(0x1b56088, 0x72, 0xc000882a88)
	/usr/local/Cellar/go/1.11/libexec/src/runtime/netpoll.go:173 +0x66
internal/poll.(*pollDesc).wait(0xc00047aa98, 0x72, 0xffffffffffffff00, 0x14273c0, 0x1644588)
	/usr/local/Cellar/go/1.11/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9a
internal/poll.(*pollDesc).waitRead(0xc00047aa98, 0xc000a0c000, 0x1000, 0x1000)
	/usr/local/Cellar/go/1.11/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc00047aa80, 0xc000a0c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/internal/poll/fd_unix.go:169 +0x1d6
net.(*netFD).Read(0xc00047aa80, 0xc000a0c000, 0x1000, 0x1000, 0xf, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc0003c9740, 0xc000a0c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/net/net.go:177 +0x68
net/http.(*persistConn).Read(0xc00036b9e0, 0xc000a0c000, 0x1000, 0x1000, 0x100649f, 0xc0006e9c70, 0x102c092)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1497 +0x75
bufio.(*Reader).fill(0xc0000b7bc0)
	/usr/local/Cellar/go/1.11/libexec/src/bufio/bufio.go:100 +0x106
bufio.(*Reader).Peek(0xc0000b7bc0, 0x1, 0xc000077020, 0xc0006e9d58, 0x1, 0x13cc900, 0x5)
	/usr/local/Cellar/go/1.11/libexec/src/bufio/bufio.go:132 +0x3f
net/http.(*persistConn).readLoop(0xc00036b9e0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1645 +0x1a2
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 656 [chan receive]:
github.com/fabiolb/fabio/cert.TLSConfig.func2(0x1428000, 0xc00040a5a0, 0xc00048c480)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/source.go:145 +0xa7
created by github.com/fabiolb/fabio/cert.TLSConfig
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/source.go:144 +0x1fa

goroutine 883 [select]:
net/http.setRequestCancel.func3(0x0, 0xc000996a80, 0xc0009a0410, 0xc0008a5c88, 0xc0000768a0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:321 +0xcf
created by net/http.setRequestCancel
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:320 +0x24e

goroutine 852 [IO wait]:
internal/poll.runtime_pollWait(0x1b56228, 0x72, 0xc000555940)
	/usr/local/Cellar/go/1.11/libexec/src/runtime/netpoll.go:173 +0x66
internal/poll.(*pollDesc).wait(0xc0003cfe98, 0x72, 0xffffffffffffff00, 0x14273c0, 0x1644588)
	/usr/local/Cellar/go/1.11/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9a
internal/poll.(*pollDesc).waitRead(0xc0003cfe98, 0xc000973800, 0x400, 0x400)
	/usr/local/Cellar/go/1.11/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc0003cfe80, 0xc000973800, 0x400, 0x400, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/internal/poll/fd_unix.go:169 +0x1d6
net.(*netFD).Read(0xc0003cfe80, 0xc000973800, 0x400, 0x400, 0xc000973800, 0x0, 0x400)
	/usr/local/Cellar/go/1.11/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e120, 0xc000973800, 0x400, 0x400, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/net/net.go:177 +0x68
crypto/tls.(*block).readFromUntil(0xc000376a20, 0x1b14000, 0xc00000e120, 0x5, 0xc00000e120, 0x119bb1f)
	/usr/local/Cellar/go/1.11/libexec/src/crypto/tls/conn.go:492 +0x89
crypto/tls.(*Conn).readRecord(0xc0008e2a80, 0x13e0116, 0xc000555c90, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/crypto/tls/conn.go:593 +0xdd
crypto/tls.(*Conn).readHandshake(0xc0008e2a80, 0xc000946816, 0xc000946820, 0x9b, 0x9b)
	/usr/local/Cellar/go/1.11/libexec/src/crypto/tls/conn.go:955 +0x9a
crypto/tls.(*clientHandshakeState).handshake(0xc000555e80, 0xc0009388c0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/crypto/tls/handshake_client.go:191 +0xaa
crypto/tls.(*Conn).clientHandshake(0xc0008e2a80, 0x13e0158, 0xc0008e2ba0)
	/usr/local/Cellar/go/1.11/libexec/src/crypto/tls/handshake_client.go:168 +0x397
crypto/tls.(*Conn).Handshake(0xc0008e2a80, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/crypto/tls/conn.go:1272 +0xf1
net/http.(*persistConn).addTLS.func2(0x0, 0xc0008e2a80, 0x0, 0xc0002ad860)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1171 +0x42
created by net/http.(*persistConn).addTLS
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1167 +0x17e

goroutine 868 [chan receive]:
github.com/fabiolb/fabio/cert.TLSConfig.func2(0x1428000, 0xc0001ad020, 0xc000165440)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/source.go:145 +0xa7
created by github.com/fabiolb/fabio/cert.TLSConfig
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/source.go:144 +0x1fa

goroutine 881 [IO wait]:
internal/poll.runtime_pollWait(0x1b55d48, 0x72, 0xc00058ea88)
	/usr/local/Cellar/go/1.11/libexec/src/runtime/netpoll.go:173 +0x66
internal/poll.(*pollDesc).wait(0xc0003ce698, 0x72, 0xffffffffffffff00, 0x14273c0, 0x1644588)
	/usr/local/Cellar/go/1.11/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9a
internal/poll.(*pollDesc).waitRead(0xc0003ce698, 0xc0009b2000, 0x1000, 0x1000)
	/usr/local/Cellar/go/1.11/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc0003ce680, 0xc0009b2000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/internal/poll/fd_unix.go:169 +0x1d6
net.(*netFD).Read(0xc0003ce680, 0xc0009b2000, 0x1000, 0x1000, 0xf, 0x17b0f10, 0x1058720)
	/usr/local/Cellar/go/1.11/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00000e0b8, 0xc0009b2000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/net/net.go:177 +0x68
net/http.(*persistConn).Read(0xc0008e5d40, 0xc0009b2000, 0x1000, 0x1000, 0x100649f, 0xc00058ec70, 0x102c092)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1497 +0x75
bufio.(*Reader).fill(0xc000074b40)
	/usr/local/Cellar/go/1.11/libexec/src/bufio/bufio.go:100 +0x106
bufio.(*Reader).Peek(0xc000074b40, 0x1, 0xc00014c000, 0xc0006ead58, 0xc0003d1cc0, 0xc0003d1c80, 0xc0000bfae0)
	/usr/local/Cellar/go/1.11/libexec/src/bufio/bufio.go:132 +0x3f
net/http.(*persistConn).readLoop(0xc0008e5d40)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1645 +0x1a2
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 869 [IO wait]:
internal/poll.runtime_pollWait(0x1b562f8, 0x72, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/runtime/netpoll.go:173 +0x66
internal/poll.(*pollDesc).wait(0xc000470e18, 0x72, 0xc000503600, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9a
internal/poll.(*pollDesc).waitRead(0xc000470e18, 0xffffffffffffff00, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc000470e00, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/internal/poll/fd_unix.go:384 +0x1a0
net.(*netFD).accept(0xc000470e00, 0xc000553ea0, 0x12c7860, 0xc0003867c4)
	/usr/local/Cellar/go/1.11/libexec/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc0003c9768, 0xc0b79a8000, 0xc000386780, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/net/tcpsock_posix.go:139 +0x2e
net.(*TCPListener).Accept(0xc0003c9768, 0xc0195d7c08, 0x195d7c0800553ea0, 0x5b984796, 0xc000553ea0)
	/usr/local/Cellar/go/1.11/libexec/src/net/tcpsock.go:260 +0x47
crypto/tls.(*listener).Accept(0xc0004d1fe0, 0xc000553ef0, 0x18, 0xc00083d500, 0x128d835)
	/usr/local/Cellar/go/1.11/libexec/src/crypto/tls/tls.go:52 +0x37
net/http.(*Server).Serve(0xc00008d110, 0x1429a80, 0xc0004d1fe0, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/server.go:2826 +0x22f
net/http/httptest.(*Server).goServe.func1(0xc000386780)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/httptest/server.go:280 +0x6d
created by net/http/httptest.(*Server).goServe
	/usr/local/Cellar/go/1.11/libexec/src/net/http/httptest/server.go:278 +0x5c

goroutine 870 [select]:
net/http.(*persistConn).roundTrip(0xc0008e5d40, 0xc0004cb200, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:2101 +0x56a
net/http.(*Transport).roundTrip(0xc0008e4ea0, 0xc00086a300, 0xc0004cb1d0, 0xc000791890, 0xc000791884)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:465 +0x9b1
net/http.(*Transport).RoundTrip(0xc0008e4ea0, 0xc00086a300, 0xc0008e4ea0, 0xbede2fd4a2826190, 0x11683570f8)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/roundtrip.go:17 +0x35
net/http.send(0xc00086a000, 0x1426340, 0xc0008e4ea0, 0xbede2fd4a2826190, 0x11683570f8, 0x167ec00, 0xc0003c9738, 0xbede2fd4a2826190, 0xc000ad71b8, 0x1)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:250 +0x14b
net/http.(*Client).send(0xc0003fe9c0, 0xc00086a000, 0xbede2fd4a2826190, 0x11683570f8, 0x167ec00, 0xc0003c9738, 0x0, 0x1, 0x1)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:174 +0xfa
net/http.(*Client).do(0xc0003fe9c0, 0xc00086a000, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:641 +0x2a8
net/http.(*Client).Do(0xc0003fe9c0, 0xc00086a000, 0x0, 0x0, 0xc000741650)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:509 +0x35
github.com/fabiolb/fabio/vendor/github.com/hashicorp/vault/api.(*Client).RawRequest(0xc000996360, 0xc0007415e0, 0xc0004caff0, 0x0, 0x0)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/vendor/github.com/hashicorp/vault/api/client.go:277 +0x7d
github.com/fabiolb/fabio/vendor/github.com/hashicorp/vault/api.(*Logical).Write(0xc000ad75f8, 0x13cbed1, 0x14, 0xc0004caff0, 0x0, 0x0, 0x0)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/vendor/github.com/hashicorp/vault/api/logical.go:62 +0x10f
github.com/fabiolb/fabio/cert.(*VaultPKISource).Issue(0xc0001ad020, 0xc00060a880, 0x9, 0xd0, 0x1389b60, 0x1)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/vault_pki_source.go:62 +0x208
github.com/fabiolb/fabio/cert.TLSConfig.func1.1(0x1013f12, 0x1389b60, 0xc00008d520, 0x8e5d3469277c884d)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/source.go:129 +0x41
github.com/fabiolb/fabio/vendor/golang.org/x/sync/singleflight.(*Group).doCall(0xc0001653d0, 0xc00065e190, 0xc00060a880, 0x9, 0xc0009b1a08)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/vendor/golang.org/x/sync/singleflight/singleflight.go:93 +0x2e
github.com/fabiolb/fabio/vendor/golang.org/x/sync/singleflight.(*Group).Do(0xc0001653d0, 0xc00060a880, 0x9, 0xc0009b1a08, 0xc0001ad020, 0xc0009b1a01, 0x0, 0x1426120, 0xc0000870f0)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/vendor/golang.org/x/sync/singleflight/singleflight.go:63 +0x142
github.com/fabiolb/fabio/cert.TLSConfig.func1(0xc00089c210, 0xc0009b1a78, 0x100dd88, 0xb0)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/source.go:128 +0x212
crypto/tls.(*Config).getCertificate(0xc00083d200, 0xc00089c210, 0xc000751820, 0x20, 0x20)
	/usr/local/Cellar/go/1.11/libexec/src/crypto/tls/common.go:726 +0x30f
crypto/tls.(*serverHandshakeState).readClientHello(0xc000ad7c50, 0xc0009b1c40, 0xf, 0x8)
	/usr/local/Cellar/go/1.11/libexec/src/crypto/tls/handshake_server.go:217 +0x3bc
crypto/tls.(*Conn).serverHandshake(0xc000878a80, 0x13e0158, 0xc000878ba0)
	/usr/local/Cellar/go/1.11/libexec/src/crypto/tls/handshake_server.go:47 +0xb6
crypto/tls.(*Conn).Handshake(0xc000878a80, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/crypto/tls/conn.go:1274 +0x177
net/http.(*conn).serve(0xc000824280, 0x142a080, 0xc0003fe930)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/server.go:1762 +0x187
created by net/http.(*Server).Serve
	/usr/local/Cellar/go/1.11/libexec/src/net/http/server.go:2851 +0x2f5

goroutine 914 [select]:
net/http.setRequestCancel.func3(0x0, 0xc0009ac300, 0xc0009c0140, 0xc0006cc17c, 0xc000292a20)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:321 +0xcf
created by net/http.setRequestCancel
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:320 +0x24e

goroutine 845 [chan receive]:
github.com/fabiolb/fabio/cert.(*vaultClient).keepTokenAlive(0xc000273f20)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/vault_client.go:118 +0x219
created by github.com/fabiolb/fabio/cert.(*vaultClient).Get
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/vault_client.go:70 +0x276

goroutine 854 [IO wait]:
internal/poll.runtime_pollWait(0x1b55fb8, 0x72, 0xc000511a88)
	/usr/local/Cellar/go/1.11/libexec/src/runtime/netpoll.go:173 +0x66
internal/poll.(*pollDesc).wait(0xc000116518, 0x72, 0xffffffffffffff00, 0x14273c0, 0x1644588)
	/usr/local/Cellar/go/1.11/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9a
internal/poll.(*pollDesc).waitRead(0xc000116518, 0xc000a34000, 0x1000, 0x1000)
	/usr/local/Cellar/go/1.11/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc000116500, 0xc000a34000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/internal/poll/fd_unix.go:169 +0x1d6
net.(*netFD).Read(0xc000116500, 0xc000a34000, 0x1000, 0x1000, 0xf, 0xc0001113bc, 0xc00011139c)
	/usr/local/Cellar/go/1.11/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00009c020, 0xc000a34000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/net/net.go:177 +0x68
net/http.(*persistConn).Read(0xc000271680, 0xc000a34000, 0x1000, 0x1000, 0x100649f, 0xc000111470, 0x102c092)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1497 +0x75
bufio.(*Reader).fill(0xc0000f91a0)
	/usr/local/Cellar/go/1.11/libexec/src/bufio/bufio.go:100 +0x106
bufio.(*Reader).Peek(0xc0000f91a0, 0x1, 0xc00014c1e0, 0xc000111558, 0x1, 0x13cc900, 0x5)
	/usr/local/Cellar/go/1.11/libexec/src/bufio/bufio.go:132 +0x3f
net/http.(*persistConn).readLoop(0xc000271680)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1645 +0x1a2
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1338 +0x941

goroutine 882 [select]:
net/http.(*persistConn).writeLoop(0xc0008e5d40)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1885 +0x113
created by net/http.(*Transport).dialConn
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:1339 +0x966

goroutine 817 [select]:
net/http.(*persistConn).roundTrip(0xc000271680, 0xc0009ac330, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:2101 +0x56a
net/http.(*Transport).roundTrip(0xc0008e4000, 0xc000168300, 0xc0009ac300, 0xc0006cc17c, 0xc0006cc170)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/transport.go:465 +0x9b1
net/http.(*Transport).RoundTrip(0xc0008e4000, 0xc000168300, 0xc0008e4000, 0xbede2fd4b0e0dcf8, 0x117693d275)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/roundtrip.go:17 +0x35
net/http.send(0xc000168200, 0x1426340, 0xc0008e4000, 0xbede2fd4b0e0dcf8, 0x117693d275, 0x167ec00, 0xc000290038, 0xbede2fd4b0e0dcf8, 0xc000590888, 0x1)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:250 +0x14b
net/http.(*Client).send(0xc0003ff020, 0xc000168200, 0xbede2fd4b0e0dcf8, 0x117693d275, 0x167ec00, 0xc000290038, 0x0, 0x1, 0x1)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:174 +0xfa
net/http.(*Client).do(0xc0003ff020, 0xc000168200, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:641 +0x2a8
net/http.(*Client).Do(0xc0003ff020, 0xc000168200, 0x0, 0x0, 0xc000a30070)
	/usr/local/Cellar/go/1.11/libexec/src/net/http/client.go:509 +0x35
github.com/fabiolb/fabio/vendor/github.com/hashicorp/vault/api.(*Client).RawRequest(0xc0004cb110, 0xc000a30000, 0xc0009ac1b0, 0x0, 0x0)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/vendor/github.com/hashicorp/vault/api/client.go:277 +0x7d
github.com/fabiolb/fabio/vendor/github.com/hashicorp/vault/api.(*Logical).Write(0xc000590cc8, 0x13cbed1, 0x14, 0xc0009ac1b0, 0x0, 0x0, 0x0)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/vendor/github.com/hashicorp/vault/api/logical.go:62 +0x10f
github.com/fabiolb/fabio/cert.(*VaultPKISource).Issue(0xc000386f60, 0xc000621730, 0x9, 0x1, 0x0, 0x0)
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/vault_pki_source.go:62 +0x208
github.com/fabiolb/fabio/cert.(*VaultPKISource).Issue.func1()
	/Volumes/git/gopath/src/github.com/fabiolb/fabio/cert/vault_pki_source.go:114 +0x58
created by time.goFunc
	/usr/local/Cellar/go/1.11/libexec/src/time/sleep.go:172 +0x44
FAIL	github.com/fabiolb/fabio/cert	15.128s
=== RUN   TestParseFlags
=== RUN   TestParseFlags/cmdline_should_win
=== RUN   TestParseFlags/env_should_win
=== RUN   TestParseFlags/env_with_prefix_should_win
=== RUN   TestParseFlags/props_should_win
=== RUN   TestParseFlags/string_slice_in_cmdline
=== RUN   TestParseFlags/string_slice_in_env
=== RUN   TestParseFlags/string_slice_in_props
--- PASS: TestParseFlags (0.00s)
    --- PASS: TestParseFlags/cmdline_should_win (0.00s)
    --- PASS: TestParseFlags/env_should_win (0.00s)
    --- PASS: TestParseFlags/env_with_prefix_should_win (0.00s)
    --- PASS: TestParseFlags/props_should_win (0.00s)
    --- PASS: TestParseFlags/string_slice_in_cmdline (0.00s)
    --- PASS: TestParseFlags/string_slice_in_env (0.00s)
    --- PASS: TestParseFlags/string_slice_in_props (0.00s)
=== RUN   TestDefaults
--- PASS: TestDefaults (0.00s)
=== RUN   TestParseKVSlice
=== RUN   TestParseKVSlice/empty
=== RUN   TestParseKVSlice/key=val
=== RUN   TestParseKVSlice/key_with_spaces
=== RUN   TestParseKVSlice/quoted_value
=== RUN   TestParseKVSlice/single_quoted_value
=== RUN   TestParseKVSlice/quoted_value_with_backslash
=== RUN   TestParseKVSlice/ignore_empty_map_front
=== RUN   TestParseKVSlice/ignore_empty_map_back
=== RUN   TestParseKVSlice/ignore_empty_value_front
=== RUN   TestParseKVSlice/ignore_empty_value_back
=== RUN   TestParseKVSlice/multiple_values
=== RUN   TestParseKVSlice/multiple_maps
=== RUN   TestParseKVSlice/multiple_values_and_maps
=== RUN   TestParseKVSlice/first_key_empty
=== RUN   TestParseKVSlice/first_key_empty_and_more_values
=== RUN   TestParseKVSlice/first_key_empty_and_more_maps
=== RUN   TestParseKVSlice/first_key_empty_and_more_maps_and_values
=== RUN   TestParseKVSlice/issue_305
=== RUN   TestParseKVSlice/issue_305#01
=== RUN   TestParseKVSlice/issue_305#02
--- PASS: TestParseKVSlice (0.00s)
    --- PASS: TestParseKVSlice/empty (0.00s)
    --- PASS: TestParseKVSlice/key=val (0.00s)
    --- PASS: TestParseKVSlice/key_with_spaces (0.00s)
    --- PASS: TestParseKVSlice/quoted_value (0.00s)
    --- PASS: TestParseKVSlice/single_quoted_value (0.00s)
    --- PASS: TestParseKVSlice/quoted_value_with_backslash (0.00s)
    --- PASS: TestParseKVSlice/ignore_empty_map_front (0.00s)
    --- PASS: TestParseKVSlice/ignore_empty_map_back (0.00s)
    --- PASS: TestParseKVSlice/ignore_empty_value_front (0.00s)
    --- PASS: TestParseKVSlice/ignore_empty_value_back (0.00s)
    --- PASS: TestParseKVSlice/multiple_values (0.00s)
    --- PASS: TestParseKVSlice/multiple_maps (0.00s)
    --- PASS: TestParseKVSlice/multiple_values_and_maps (0.00s)
    --- PASS: TestParseKVSlice/first_key_empty (0.00s)
    --- PASS: TestParseKVSlice/first_key_empty_and_more_values (0.00s)
    --- PASS: TestParseKVSlice/first_key_empty_and_more_maps (0.00s)
    --- PASS: TestParseKVSlice/first_key_empty_and_more_maps_and_values (0.00s)
    --- PASS: TestParseKVSlice/issue_305 (0.00s)
    --- PASS: TestParseKVSlice/issue_305#01 (0.00s)
    --- PASS: TestParseKVSlice/issue_305#02 (0.00s)
=== RUN   TestLoad
=== RUN   TestLoad/-v
=== RUN   TestLoad/--version
=== RUN   TestLoad/-v_with_other_args
=== RUN   TestLoad/--version_with_other_args
=== RUN   TestLoad/default_config
=== RUN   TestLoad/-insecure=true
=== RUN   TestLoad/-profile.mode_foo
=== RUN   TestLoad/-profile.path_foo
=== RUN   TestLoad/-proxy.addr_:5555
=== RUN   TestLoad/-proxy.addr_:5555;proto=http
=== RUN   TestLoad/-proxy.addr_:5555;proto=tcp
=== RUN   TestLoad/-proxy.addr_:5555;proto=tcp+sni
=== RUN   TestLoad/-proxy.addr_with_tls_configs
=== RUN   TestLoad/-proxy.addr_with_named_tls_configs
=== RUN   TestLoad/-proxy.addr_with_file_cert_source
=== RUN   TestLoad/-proxy.addr_with_path_cert_source
=== RUN   TestLoad/-proxy.addr_with_http_cert_source
=== RUN   TestLoad/-proxy.addr_with_consul_cert_source
=== RUN   TestLoad/-proxy.addr_with_vault_cert_source
=== RUN   TestLoad/-proxy.addr_with_vault-pki_cert_source
2018/09/12 08:51:43 [INFO] vault-pki requires strictmatch; enabling strictmatch for listener :5555
=== RUN   TestLoad/-proxy.addr_with_vault-pki_cert_source,_-proxy.cs_first
2018/09/12 08:51:43 [INFO] vault-pki requires strictmatch; enabling strictmatch for listener :5555
=== RUN   TestLoad/-proxy.addr_with_cert_source
=== RUN   TestLoad/-proxy.addr_with_cert_source_with_full_options
=== RUN   TestLoad/issue_305
=== RUN   TestLoad/-proxy.localip_1.2.3.4
=== RUN   TestLoad/-proxy.strategy_rnd
=== RUN   TestLoad/-proxy.strategy_rr
=== RUN   TestLoad/-proxy.matcher_prefix
=== RUN   TestLoad/-proxy.matcher_glob
=== RUN   TestLoad/-proxy.noroutestatus_555
=== RUN   TestLoad/-proxy.shutdownwait_5ms
=== RUN   TestLoad/-proxy.responseheadertimeout_5ms
=== RUN   TestLoad/-proxy.keepalivetimeout_5ms
=== RUN   TestLoad/-proxy.dialtimeout_5ms
=== RUN   TestLoad/-proxy.readtimeout_5ms
=== RUN   TestLoad/-proxy.writetimeout_5ms
=== RUN   TestLoad/-proxy.flushinterval_5ms
=== RUN   TestLoad/-proxy.maxconn_555
=== RUN   TestLoad/-proxy.header.clientip_value
=== RUN   TestLoad/-proxy.header.tls_value
=== RUN   TestLoad/-proxy.header.tls.value_value
=== RUN   TestLoad/-proxy.header.requestid_value
=== RUN   TestLoad/-proxy.header.sts.maxage_31536000
=== RUN   TestLoad/-proxy.header.sts.subdomains_true
=== RUN   TestLoad/-proxy.header.sts.preload_true
=== RUN   TestLoad/-proxy.gzip.contenttype_^text/.*$
=== RUN   TestLoad/-proxy.gzip.contenttype_^(text/.*|application/(javascript|json|font-woff|xml)|.*\+(json|xml))(;.*)?$
=== RUN   TestLoad/-proxy.log.routes_foobar
2018/09/12 08:51:43 [WARN] proxy.log.routes has been deprecated. Please use 'log.routes.format' instead
=== RUN   TestLoad/-registry.backend_value
=== RUN   TestLoad/-registry.timeout_5s
=== RUN   TestLoad/-registry.retry_500ms
=== RUN   TestLoad/-registry.file.path_value
=== RUN   TestLoad/-registry.file.noroutehtmlpath_value
=== RUN   TestLoad/-registry.static.routes_value
=== RUN   TestLoad/-registry.static.noroutehtml_value
=== RUN   TestLoad/-registry.consul.addr_1.2.3.4:5555
=== RUN   TestLoad/-registry.consul.addr_http://1.2.3.4:5555/
=== RUN   TestLoad/-registry.consul.addr_https://1.2.3.4:5555/
=== RUN   TestLoad/-registry.consul.addr_HTTPS://1.2.3.4:5555/
=== RUN   TestLoad/-registry.consul.token_some-token
=== RUN   TestLoad/-registry.consul.kvpath_/some/path
=== RUN   TestLoad/-registry.consul.noroutehtmlpath_/some/path
=== RUN   TestLoad/-registry.consul.tagprefix_p-
=== RUN   TestLoad/-registry.consul.register.enabled=false
=== RUN   TestLoad/-registry.consul.register.addr_1.2.3.4:5555
=== RUN   TestLoad/-registry.consul.register.name_fab
=== RUN   TestLoad/-registry.consul.register.checkTLSSkipVerify=true
=== RUN   TestLoad/-registry.consul.register.tags_a,_b,_c,_
=== RUN   TestLoad/-registry.consul.register.checkInterval_5ms
=== RUN   TestLoad/-registry.consul.register.checkTimeout_5ms
=== RUN   TestLoad/-registry.consul.service.status_a,_b,_
=== RUN   TestLoad/-log.access.format_foobar
=== RUN   TestLoad/-log.access.target_foobar
=== RUN   TestLoad/-log.routes.format_foobar
=== RUN   TestLoad/-log.level_foobar
=== RUN   TestLoad/-metrics.target_some-target
=== RUN   TestLoad/-metrics.prefix_some-prefix
=== RUN   TestLoad/-metrics.names_some_names
=== RUN   TestLoad/-metrics.interval_5ms
=== RUN   TestLoad/-metrics.timeout_5s
=== RUN   TestLoad/-metrics.retry_500ms
=== RUN   TestLoad/-metrics.graphite.addr_1.2.3.4:5555
=== RUN   TestLoad/-metrics.statsd.addr_1.2.3.4:5555
=== RUN   TestLoad/-metrics.circonus.apiapp_value
=== RUN   TestLoad/-metrics.circonus.apikey_value
=== RUN   TestLoad/-metrics.circonus.apiurl_value
=== RUN   TestLoad/-metrics.circonus.brokerid_value
=== RUN   TestLoad/-metrics.circonus.checkid_value
=== RUN   TestLoad/-runtime.gogc_555
=== RUN   TestLoad/-runtime.gomaxprocs_555
=== RUN   TestLoad/-ui.access_ro
=== RUN   TestLoad/-ui.access_rw
=== RUN   TestLoad/-ui.addr_1.2.3.4:5555
=== RUN   TestLoad/-ui.addr_:9998;cs=ui_-proxy.cs_cs=ui;type=file;cert=value
=== RUN   TestLoad/-ui.color_value
=== RUN   TestLoad/-ui.title_value
=== RUN   TestLoad/ignore_aws.apigw.cert.cn
=== RUN   TestLoad/config_from_environ
=== RUN   TestLoad/config_from_url
=== RUN   TestLoad/config_from_file_I
=== RUN   TestLoad/config_from_file_II
=== RUN   TestLoad/config_from_file_III
=== RUN   TestLoad/config_from_file_IV
=== RUN   TestLoad/cmdline_over_config_file_I
=== RUN   TestLoad/cmdline_over_config_file_II
=== RUN   TestLoad/environ_over_config_file
=== RUN   TestLoad/cmdline_over_environ
=== RUN   TestLoad/-proxy.addr_with_unknown_cert_source_'foo'
=== RUN   TestLoad/-proxy.addr_with_unknown_proto_'foo'
=== RUN   TestLoad/-proxy.addr_with_proto_'https'_requires_cert_source
=== RUN   TestLoad/-proxy.addr_with_cert_source_and_proto_'http'_requires_proto_'https'_or_'tcp'
=== RUN   TestLoad/-proxy.addr_with_cert_source_and_proto_'tcp+sni'_requires_proto_'https'_or_'tcp'
=== RUN   TestLoad/-proxy.noroutestatus_too_small
=== RUN   TestLoad/-proxy.noroutestatus_too_big
=== RUN   TestLoad/-cfg
=== RUN   TestLoad/-cfg=''
=== RUN   TestLoad/-cfg=""
--- PASS: TestLoad (0.06s)
    --- PASS: TestLoad/-v (0.00s)
    --- PASS: TestLoad/--version (0.00s)
    --- PASS: TestLoad/-v_with_other_args (0.00s)
    --- PASS: TestLoad/--version_with_other_args (0.00s)
    --- PASS: TestLoad/default_config (0.00s)
    --- PASS: TestLoad/-insecure=true (0.00s)
    --- PASS: TestLoad/-profile.mode_foo (0.00s)
    --- PASS: TestLoad/-profile.path_foo (0.00s)
    --- PASS: TestLoad/-proxy.addr_:5555 (0.00s)
    --- PASS: TestLoad/-proxy.addr_:5555;proto=http (0.00s)
    --- PASS: TestLoad/-proxy.addr_:5555;proto=tcp (0.00s)
    --- PASS: TestLoad/-proxy.addr_:5555;proto=tcp+sni (0.00s)
    --- PASS: TestLoad/-proxy.addr_with_tls_configs (0.00s)
    --- PASS: TestLoad/-proxy.addr_with_named_tls_configs (0.00s)
    --- PASS: TestLoad/-proxy.addr_with_file_cert_source (0.00s)
    --- PASS: TestLoad/-proxy.addr_with_path_cert_source (0.00s)
    --- PASS: TestLoad/-proxy.addr_with_http_cert_source (0.00s)
    --- PASS: TestLoad/-proxy.addr_with_consul_cert_source (0.00s)
    --- PASS: TestLoad/-proxy.addr_with_vault_cert_source (0.00s)
    --- PASS: TestLoad/-proxy.addr_with_vault-pki_cert_source (0.00s)
    --- PASS: TestLoad/-proxy.addr_with_vault-pki_cert_source,_-proxy.cs_first (0.00s)
    --- PASS: TestLoad/-proxy.addr_with_cert_source (0.00s)
    --- PASS: TestLoad/-proxy.addr_with_cert_source_with_full_options (0.00s)
    --- PASS: TestLoad/issue_305 (0.00s)
    --- PASS: TestLoad/-proxy.localip_1.2.3.4 (0.00s)
    --- PASS: TestLoad/-proxy.strategy_rnd (0.00s)
    --- PASS: TestLoad/-proxy.strategy_rr (0.00s)
    --- PASS: TestLoad/-proxy.matcher_prefix (0.00s)
    --- PASS: TestLoad/-proxy.matcher_glob (0.00s)
    --- PASS: TestLoad/-proxy.noroutestatus_555 (0.00s)
    --- PASS: TestLoad/-proxy.shutdownwait_5ms (0.00s)
    --- PASS: TestLoad/-proxy.responseheadertimeout_5ms (0.00s)
    --- PASS: TestLoad/-proxy.keepalivetimeout_5ms (0.00s)
    --- PASS: TestLoad/-proxy.dialtimeout_5ms (0.00s)
    --- PASS: TestLoad/-proxy.readtimeout_5ms (0.00s)
    --- PASS: TestLoad/-proxy.writetimeout_5ms (0.00s)
    --- PASS: TestLoad/-proxy.flushinterval_5ms (0.00s)
    --- PASS: TestLoad/-proxy.maxconn_555 (0.00s)
    --- PASS: TestLoad/-proxy.header.clientip_value (0.00s)
    --- PASS: TestLoad/-proxy.header.tls_value (0.00s)
    --- PASS: TestLoad/-proxy.header.tls.value_value (0.00s)
    --- PASS: TestLoad/-proxy.header.requestid_value (0.00s)
    --- PASS: TestLoad/-proxy.header.sts.maxage_31536000 (0.00s)
    --- PASS: TestLoad/-proxy.header.sts.subdomains_true (0.00s)
    --- PASS: TestLoad/-proxy.header.sts.preload_true (0.00s)
    --- PASS: TestLoad/-proxy.gzip.contenttype_^text/.*$ (0.00s)
    --- PASS: TestLoad/-proxy.gzip.contenttype_^(text/.*|application/(javascript|json|font-woff|xml)|.*\+(json|xml))(;.*)?$ (0.00s)
    --- PASS: TestLoad/-proxy.log.routes_foobar (0.00s)
    --- PASS: TestLoad/-registry.backend_value (0.00s)
    --- PASS: TestLoad/-registry.timeout_5s (0.00s)
    --- PASS: TestLoad/-registry.retry_500ms (0.00s)
    --- PASS: TestLoad/-registry.file.path_value (0.00s)
    --- PASS: TestLoad/-registry.file.noroutehtmlpath_value (0.00s)
    --- PASS: TestLoad/-registry.static.routes_value (0.00s)
    --- PASS: TestLoad/-registry.static.noroutehtml_value (0.00s)
    --- PASS: TestLoad/-registry.consul.addr_1.2.3.4:5555 (0.00s)
    --- PASS: TestLoad/-registry.consul.addr_http://1.2.3.4:5555/ (0.00s)
    --- PASS: TestLoad/-registry.consul.addr_https://1.2.3.4:5555/ (0.00s)
    --- PASS: TestLoad/-registry.consul.addr_HTTPS://1.2.3.4:5555/ (0.00s)
    --- PASS: TestLoad/-registry.consul.token_some-token (0.00s)
    --- PASS: TestLoad/-registry.consul.kvpath_/some/path (0.00s)
    --- PASS: TestLoad/-registry.consul.noroutehtmlpath_/some/path (0.00s)
    --- PASS: TestLoad/-registry.consul.tagprefix_p- (0.00s)
    --- PASS: TestLoad/-registry.consul.register.enabled=false (0.00s)
    --- PASS: TestLoad/-registry.consul.register.addr_1.2.3.4:5555 (0.00s)
    --- PASS: TestLoad/-registry.consul.register.name_fab (0.00s)
    --- PASS: TestLoad/-registry.consul.register.checkTLSSkipVerify=true (0.00s)
    --- PASS: TestLoad/-registry.consul.register.tags_a,_b,_c,_ (0.00s)
    --- PASS: TestLoad/-registry.consul.register.checkInterval_5ms (0.00s)
    --- PASS: TestLoad/-registry.consul.register.checkTimeout_5ms (0.00s)
    --- PASS: TestLoad/-registry.consul.service.status_a,_b,_ (0.00s)
    --- PASS: TestLoad/-log.access.format_foobar (0.01s)
    --- PASS: TestLoad/-log.access.target_foobar (0.00s)
    --- PASS: TestLoad/-log.routes.format_foobar (0.00s)
    --- PASS: TestLoad/-log.level_foobar (0.00s)
    --- PASS: TestLoad/-metrics.target_some-target (0.00s)
    --- PASS: TestLoad/-metrics.prefix_some-prefix (0.00s)
    --- PASS: TestLoad/-metrics.names_some_names (0.00s)
    --- PASS: TestLoad/-metrics.interval_5ms (0.00s)
    --- PASS: TestLoad/-metrics.timeout_5s (0.00s)
    --- PASS: TestLoad/-metrics.retry_500ms (0.00s)
    --- PASS: TestLoad/-metrics.graphite.addr_1.2.3.4:5555 (0.00s)
    --- PASS: TestLoad/-metrics.statsd.addr_1.2.3.4:5555 (0.00s)
    --- PASS: TestLoad/-metrics.circonus.apiapp_value (0.00s)
    --- PASS: TestLoad/-metrics.circonus.apikey_value (0.00s)
    --- PASS: TestLoad/-metrics.circonus.apiurl_value (0.00s)
    --- PASS: TestLoad/-metrics.circonus.brokerid_value (0.00s)
    --- PASS: TestLoad/-metrics.circonus.checkid_value (0.00s)
    --- PASS: TestLoad/-runtime.gogc_555 (0.00s)
    --- PASS: TestLoad/-runtime.gomaxprocs_555 (0.00s)
    --- PASS: TestLoad/-ui.access_ro (0.00s)
    --- PASS: TestLoad/-ui.access_rw (0.00s)
    --- PASS: TestLoad/-ui.addr_1.2.3.4:5555 (0.00s)
    --- PASS: TestLoad/-ui.addr_:9998;cs=ui_-proxy.cs_cs=ui;type=file;cert=value (0.00s)
    --- PASS: TestLoad/-ui.color_value (0.00s)
    --- PASS: TestLoad/-ui.title_value (0.00s)
    --- PASS: TestLoad/ignore_aws.apigw.cert.cn (0.00s)
    --- PASS: TestLoad/config_from_environ (0.00s)
    --- PASS: TestLoad/config_from_url (0.00s)
    --- PASS: TestLoad/config_from_file_I (0.00s)
    --- PASS: TestLoad/config_from_file_II (0.00s)
    --- PASS: TestLoad/config_from_file_III (0.00s)
    --- PASS: TestLoad/config_from_file_IV (0.00s)
    --- PASS: TestLoad/cmdline_over_config_file_I (0.00s)
    --- PASS: TestLoad/cmdline_over_config_file_II (0.00s)
    --- PASS: TestLoad/environ_over_config_file (0.00s)
    --- PASS: TestLoad/cmdline_over_environ (0.00s)
    --- PASS: TestLoad/-proxy.addr_with_unknown_cert_source_'foo' (0.00s)
    --- PASS: TestLoad/-proxy.addr_with_unknown_proto_'foo' (0.00s)
    --- PASS: TestLoad/-proxy.addr_with_proto_'https'_requires_cert_source (0.00s)
    --- PASS: TestLoad/-proxy.addr_with_cert_source_and_proto_'http'_requires_proto_'https'_or_'tcp' (0.00s)
    --- PASS: TestLoad/-proxy.addr_with_cert_source_and_proto_'tcp+sni'_requires_proto_'https'_or_'tcp' (0.00s)
    --- PASS: TestLoad/-proxy.noroutestatus_too_small (0.00s)
    --- PASS: TestLoad/-proxy.noroutestatus_too_big (0.00s)
    --- PASS: TestLoad/-cfg (0.00s)
    --- PASS: TestLoad/-cfg='' (0.00s)
    --- PASS: TestLoad/-cfg="" (0.00s)
PASS
ok  	github.com/fabiolb/fabio/config	(cached)
?   	github.com/fabiolb/fabio/demo/server	[no test files]
?   	github.com/fabiolb/fabio/demo/wsclient	[no test files]
=== RUN   TestExit
--- PASS: TestExit (0.00s)
PASS
ok  	github.com/fabiolb/fabio/exit	0.065s
=== RUN   TestLevelWriter
=== RUN   TestLevelWriter/TRACE
=== RUN   TestLevelWriter/DEBUG
=== RUN   TestLevelWriter/INFO
=== RUN   TestLevelWriter/WARN
=== RUN   TestLevelWriter/ERROR
=== RUN   TestLevelWriter/FATAL
--- PASS: TestLevelWriter (0.00s)
    --- PASS: TestLevelWriter/TRACE (0.00s)
    --- PASS: TestLevelWriter/DEBUG (0.00s)
    --- PASS: TestLevelWriter/INFO (0.00s)
    --- PASS: TestLevelWriter/WARN (0.00s)
    --- PASS: TestLevelWriter/ERROR (0.00s)
    --- PASS: TestLevelWriter/FATAL (0.00s)
=== RUN   TestParse
--- PASS: TestParse (0.00s)
=== RUN   TestLog
=== RUN   TestLog/$header.Referer
=== RUN   TestLog/$header.X-Forwarded-For
=== RUN   TestLog/$header.user-agent
=== RUN   TestLog/$remote_addr
=== RUN   TestLog/$remote_host
=== RUN   TestLog/$remote_port
=== RUN   TestLog/$request
=== RUN   TestLog/$request_args
=== RUN   TestLog/$request_host
=== RUN   TestLog/$request_method
=== RUN   TestLog/$request_proto
=== RUN   TestLog/$request_scheme
=== RUN   TestLog/$request_uri
=== RUN   TestLog/$request_url
=== RUN   TestLog/$response_body_size
=== RUN   TestLog/$response_status
=== RUN   TestLog/$response_time_ms
=== RUN   TestLog/$response_time_ns
=== RUN   TestLog/$response_time_us
=== RUN   TestLog/$time_common
=== RUN   TestLog/$time_rfc3339
=== RUN   TestLog/$time_rfc3339_ms
=== RUN   TestLog/$time_rfc3339_ns
=== RUN   TestLog/$time_rfc3339_us
=== RUN   TestLog/$time_unix_ms
=== RUN   TestLog/$time_unix_ns
=== RUN   TestLog/$time_unix_us
=== RUN   TestLog/$upstream_addr
=== RUN   TestLog/$upstream_host
=== RUN   TestLog/$upstream_port
=== RUN   TestLog/$upstream_request_scheme
=== RUN   TestLog/$upstream_request_uri
=== RUN   TestLog/$upstream_request_url
=== RUN   TestLog/$upstream_service
--- PASS: TestLog (0.00s)
    --- PASS: TestLog/$header.Referer (0.00s)
    --- PASS: TestLog/$header.X-Forwarded-For (0.00s)
    --- PASS: TestLog/$header.user-agent (0.00s)
    --- PASS: TestLog/$remote_addr (0.00s)
    --- PASS: TestLog/$remote_host (0.00s)
    --- PASS: TestLog/$remote_port (0.00s)
    --- PASS: TestLog/$request (0.00s)
    --- PASS: TestLog/$request_args (0.00s)
    --- PASS: TestLog/$request_host (0.00s)
    --- PASS: TestLog/$request_method (0.00s)
    --- PASS: TestLog/$request_proto (0.00s)
    --- PASS: TestLog/$request_scheme (0.00s)
    --- PASS: TestLog/$request_uri (0.00s)
    --- PASS: TestLog/$request_url (0.00s)
    --- PASS: TestLog/$response_body_size (0.00s)
    --- PASS: TestLog/$response_status (0.00s)
    --- PASS: TestLog/$response_time_ms (0.00s)
    --- PASS: TestLog/$response_time_ns (0.00s)
    --- PASS: TestLog/$response_time_us (0.00s)
    --- PASS: TestLog/$time_common (0.00s)
    --- PASS: TestLog/$time_rfc3339 (0.00s)
    --- PASS: TestLog/$time_rfc3339_ms (0.00s)
    --- PASS: TestLog/$time_rfc3339_ns (0.00s)
    --- PASS: TestLog/$time_rfc3339_us (0.00s)
    --- PASS: TestLog/$time_unix_ms (0.00s)
    --- PASS: TestLog/$time_unix_ns (0.00s)
    --- PASS: TestLog/$time_unix_us (0.00s)
    --- PASS: TestLog/$upstream_addr (0.00s)
    --- PASS: TestLog/$upstream_host (0.00s)
    --- PASS: TestLog/$upstream_port (0.00s)
    --- PASS: TestLog/$upstream_request_scheme (0.00s)
    --- PASS: TestLog/$upstream_request_uri (0.00s)
    --- PASS: TestLog/$upstream_request_url (0.00s)
    --- PASS: TestLog/$upstream_service (0.00s)
=== RUN   TestAtoi
--- PASS: TestAtoi (0.00s)
PASS
ok  	github.com/fabiolb/fabio/logger	(cached)
=== RUN   TestRegistry
--- PASS: TestRegistry (0.00s)
    circonus_test.go:12: Testing registry interface
    circonus_test.go:16: 	Names()
    circonus_test.go:22: 	Unregister()
    circonus_test.go:25: 	UnregisterAll()
    circonus_test.go:28: 	GetTimer()
=== RUN   TestTimer
--- PASS: TestTimer (0.00s)
    circonus_test.go:36: Testing timer interface
    circonus_test.go:40: 	Percentile()
    circonus_test.go:46: 	Rate1()
=== RUN   TestAll
--- SKIP: TestAll (0.00s)
    circonus_test.go:57: skipping test; $CIRCONUS_API_TOKEN not set
=== RUN   TestParsePrefix
--- PASS: TestParsePrefix (0.00s)
=== RUN   TestTargetName
--- PASS: TestTargetName (0.00s)
PASS
ok  	github.com/fabiolb/fabio/metrics	(cached)
=== RUN   TestStoreSetGet
--- PASS: TestStoreSetGet (0.00s)
PASS
ok  	github.com/fabiolb/fabio/noroute	(cached)
=== RUN   TestAddHeaders
=== RUN   TestAddHeaders/error
=== RUN   TestAddHeaders/http_request
=== RUN   TestAddHeaders/https_request
=== RUN   TestAddHeaders/ws_request
=== RUN   TestAddHeaders/wss_request
=== RUN   TestAddHeaders/set_client_ip_header
=== RUN   TestAddHeaders/set_Forwarded_with_localIP
=== RUN   TestAddHeaders/set_Forwarded_with_localIP_for_https
=== RUN   TestAddHeaders/set_httpproto,_tlsver_and_tlscipher_on_Forwarded_for_https
=== RUN   TestAddHeaders/set_httpproto_on_Forwarded
=== RUN   TestAddHeaders/extend_Forwarded_with_localIP
=== RUN   TestAddHeaders/set_tls_header
=== RUN   TestAddHeaders/set_tls_header_with_value
=== RUN   TestAddHeaders/overwrite_tls_header_for_https,_when_set
=== RUN   TestAddHeaders/drop_tls_header_for_http,_when_set
=== RUN   TestAddHeaders/do_not_overwrite_X-Forwarded-Proto,_if_present
=== RUN   TestAddHeaders/set_scheme_from_X-Forwarded-Proto,_if_present_and_Forwarded_is_missing
=== RUN   TestAddHeaders/set_scheme_from_Forwarded,_if_present_and_X-Forwarded-Proto_is_missing
=== RUN   TestAddHeaders/do_not_modify_scheme_when_both_Forwarded_and_X-Forwarded-Proto_are_present
=== RUN   TestAddHeaders/set_X-Forwarded-Port_from_Host
=== RUN   TestAddHeaders/set_X-Forwarded-Port_from_Host_for_https
=== RUN   TestAddHeaders/do_not_overwrite_X-Forwarded-Port_header,_if_present
=== RUN   TestAddHeaders/set_X-Forwarded-Host_from_Host
=== RUN   TestAddHeaders/do_not_overwrite_X-Forwarded-Host,_if_present
=== RUN   TestAddHeaders/do_not_overwrite_X-Real-Ip,_if_present
--- PASS: TestAddHeaders (0.00s)
    --- PASS: TestAddHeaders/error (0.00s)
    --- PASS: TestAddHeaders/http_request (0.00s)
    --- PASS: TestAddHeaders/https_request (0.00s)
    --- PASS: TestAddHeaders/ws_request (0.00s)
    --- PASS: TestAddHeaders/wss_request (0.00s)
    --- PASS: TestAddHeaders/set_client_ip_header (0.00s)
    --- PASS: TestAddHeaders/set_Forwarded_with_localIP (0.00s)
    --- PASS: TestAddHeaders/set_Forwarded_with_localIP_for_https (0.00s)
    --- PASS: TestAddHeaders/set_httpproto,_tlsver_and_tlscipher_on_Forwarded_for_https (0.00s)
    --- PASS: TestAddHeaders/set_httpproto_on_Forwarded (0.00s)
    --- PASS: TestAddHeaders/extend_Forwarded_with_localIP (0.00s)
    --- PASS: TestAddHeaders/set_tls_header (0.00s)
    --- PASS: TestAddHeaders/set_tls_header_with_value (0.00s)
    --- PASS: TestAddHeaders/overwrite_tls_header_for_https,_when_set (0.00s)
    --- PASS: TestAddHeaders/drop_tls_header_for_http,_when_set (0.00s)
    --- PASS: TestAddHeaders/do_not_overwrite_X-Forwarded-Proto,_if_present (0.00s)
    --- PASS: TestAddHeaders/set_scheme_from_X-Forwarded-Proto,_if_present_and_Forwarded_is_missing (0.00s)
    --- PASS: TestAddHeaders/set_scheme_from_Forwarded,_if_present_and_X-Forwarded-Proto_is_missing (0.00s)
    --- PASS: TestAddHeaders/do_not_modify_scheme_when_both_Forwarded_and_X-Forwarded-Proto_are_present (0.00s)
    --- PASS: TestAddHeaders/set_X-Forwarded-Port_from_Host (0.00s)
    --- PASS: TestAddHeaders/set_X-Forwarded-Port_from_Host_for_https (0.00s)
    --- PASS: TestAddHeaders/do_not_overwrite_X-Forwarded-Port_header,_if_present (0.00s)
    --- PASS: TestAddHeaders/set_X-Forwarded-Host_from_Host (0.00s)
    --- PASS: TestAddHeaders/do_not_overwrite_X-Forwarded-Host,_if_present (0.00s)
    --- PASS: TestAddHeaders/do_not_overwrite_X-Real-Ip,_if_present (0.00s)
=== RUN   TestAddResponseHeaders
=== RUN   TestAddResponseHeaders/set_Strict-Transport-Security_for_TLS,_if_MaxAge_greater_than_0
=== RUN   TestAddResponseHeaders/set_Strict-Transport-Security_for_TLS,_if_MaxAge_greater_than_0_with_options
=== RUN   TestAddResponseHeaders/skip_Strict-Transport-Security_for_non-TLS,_if_MaxAge_greater_than_0
--- PASS: TestAddResponseHeaders (0.00s)
    --- PASS: TestAddResponseHeaders/set_Strict-Transport-Security_for_TLS,_if_MaxAge_greater_than_0 (0.00s)
    --- PASS: TestAddResponseHeaders/set_Strict-Transport-Security_for_TLS,_if_MaxAge_greater_than_0_with_options (0.00s)
    --- PASS: TestAddResponseHeaders/skip_Strict-Transport-Security_for_non-TLS,_if_MaxAge_greater_than_0 (0.00s)
=== RUN   TestLocalPort
--- PASS: TestLocalPort (0.00s)
=== RUN   TestUint16Base16
--- PASS: TestUint16Base16 (0.00s)
=== RUN   TestProxyProducesCorrectXForwardedSomethingHeader
--- PASS: TestProxyProducesCorrectXForwardedSomethingHeader (0.01s)
=== RUN   TestProxyRequestIDHeader
--- PASS: TestProxyRequestIDHeader (0.00s)
=== RUN   TestProxySTSHeader
--- PASS: TestProxySTSHeader (0.00s)
=== RUN   TestProxyChecksHeaderForAccessRules
2018/09/12 08:51:46 [INFO] route rules denied access from 1.2.3.4 to http://127.0.0.1:50550
--- PASS: TestProxyChecksHeaderForAccessRules (0.00s)
=== RUN   TestProxyNoRouteHTML
--- PASS: TestProxyNoRouteHTML (0.00s)
=== RUN   TestProxyNoRouteStatus
--- PASS: TestProxyNoRouteStatus (0.00s)
=== RUN   TestProxyStripsPath
--- PASS: TestProxyStripsPath (0.00s)
=== RUN   TestProxyHost
=== RUN   TestProxyHost/host_eq_dst
=== RUN   TestProxyHost/no_host
=== RUN   TestProxyHost/host_is_custom
--- PASS: TestProxyHost (0.01s)
    --- PASS: TestProxyHost/host_eq_dst (0.00s)
    --- PASS: TestProxyHost/no_host (0.00s)
    --- PASS: TestProxyHost/host_is_custom (0.00s)
=== RUN   TestHostRedirect
--- PASS: TestHostRedirect (0.00s)
=== RUN   TestPathRedirect
--- PASS: TestPathRedirect (0.00s)
=== RUN   TestProxyLogOutput
=== RUN   TestProxyLogOutput/uncompressed_response
=== RUN   TestProxyLogOutput/compression_enabled_but_no_match
=== RUN   TestProxyLogOutput/compression_enabled_and_active
--- PASS: TestProxyLogOutput (0.01s)
    --- PASS: TestProxyLogOutput/uncompressed_response (0.00s)
    --- PASS: TestProxyLogOutput/compression_enabled_but_no_match (0.00s)
    --- PASS: TestProxyLogOutput/compression_enabled_and_active (0.00s)
=== RUN   TestProxyHTTPSUpstream
--- PASS: TestProxyHTTPSUpstream (0.00s)
=== RUN   TestProxyHTTPSUpstreamSkipVerify
--- PASS: TestProxyHTTPSUpstreamSkipVerify (0.00s)
=== RUN   TestProxyGzipHandler
=== RUN   TestProxyGzipHandler/plain_body_-_compressed_response
=== RUN   TestProxyGzipHandler/plain_body_-_compressed_response_(with_charset)
=== RUN   TestProxyGzipHandler/compressed_body_-_compressed_response
=== RUN   TestProxyGzipHandler/plain_body_-_plain_response
=== RUN   TestProxyGzipHandler/compressed_body_-_plain_response
=== RUN   TestProxyGzipHandler/plain_body_-_plain_response_(no_match)
--- PASS: TestProxyGzipHandler (0.02s)
    --- PASS: TestProxyGzipHandler/plain_body_-_compressed_response (0.00s)
    --- PASS: TestProxyGzipHandler/plain_body_-_compressed_response_(with_charset) (0.01s)
    --- PASS: TestProxyGzipHandler/compressed_body_-_compressed_response (0.00s)
    --- PASS: TestProxyGzipHandler/plain_body_-_plain_response (0.00s)
    --- PASS: TestProxyGzipHandler/compressed_body_-_plain_response (0.00s)
    --- PASS: TestProxyGzipHandler/plain_body_-_plain_response_(no_match) (0.00s)
=== RUN   TestGracefulShutdown
--- PASS: TestGracefulShutdown (0.11s)
    listen_test.go:40: ListenAndServeHTTP:  http: Server closed
=== RUN   TestTCPProxy
--- PASS: TestTCPProxy (0.00s)
    tcp_integration_test.go:52: ListenAndServeTCP:  accept tcp 127.0.0.1:57778: use of closed network connection
=== RUN   TestTCPProxyWithTLS
2018/09/12 08:51:46 [INFO] cert: Store has certificates for ["example.com"]
--- PASS: TestTCPProxyWithTLS (0.26s)
=== RUN   TestTCPSNIProxy
--- PASS: TestTCPSNIProxy (0.11s)
    tcp_integration_test.go:159: ListenAndServeTCP:  accept tcp 127.0.0.1:57778: use of closed network connection
=== RUN   TestProxyWSUpstream
=== RUN   TestProxyWSUpstream/ws-ws_direct
=== RUN   TestProxyWSUpstream/wss-wss_direct
=== RUN   TestProxyWSUpstream/ws-ws_via_http_proxy
=== RUN   TestProxyWSUpstream/wss-ws_via_https_proxy
=== RUN   TestProxyWSUpstream/ws-wss_via_http_proxy
=== RUN   TestProxyWSUpstream/wss-wss_via_https_proxy
=== RUN   TestProxyWSUpstream/ws-wss_tlsskipverify=true_via_http_proxy
=== RUN   TestProxyWSUpstream/wss-wss_tlsskipverify=true_via_https_proxy
=== RUN   TestProxyWSUpstream/ws-ws_via_http_proxy_with_gzip
=== RUN   TestProxyWSUpstream/ws-ws_via_http_proxy_with_strip
--- PASS: TestProxyWSUpstream (0.05s)
    ws_integration_test.go:28: Started WS server:  http://127.0.0.1:50628
    ws_integration_test.go:34: Started WSS server:  https://127.0.0.1:50629
    ws_integration_test.go:51: Started HTTP proxy:  http://127.0.0.1:50630
    ws_integration_test.go:65: Started HTTPS proxy:  https://127.0.0.1:50631
    --- PASS: TestProxyWSUpstream/ws-ws_direct (0.00s)
    --- PASS: TestProxyWSUpstream/wss-wss_direct (0.00s)
    --- PASS: TestProxyWSUpstream/ws-ws_via_http_proxy (0.00s)
    --- PASS: TestProxyWSUpstream/wss-ws_via_https_proxy (0.00s)
    --- PASS: TestProxyWSUpstream/ws-wss_via_http_proxy (0.00s)
    --- PASS: TestProxyWSUpstream/wss-wss_via_https_proxy (0.01s)
    --- PASS: TestProxyWSUpstream/ws-wss_tlsskipverify=true_via_http_proxy (0.00s)
    --- PASS: TestProxyWSUpstream/wss-wss_tlsskipverify=true_via_https_proxy (0.01s)
    --- PASS: TestProxyWSUpstream/ws-ws_via_http_proxy_with_gzip (0.00s)
    --- PASS: TestProxyWSUpstream/ws-ws_via_http_proxy_with_strip (0.00s)
PASS
ok  	github.com/fabiolb/fabio/proxy	(cached)
=== RUN   TestContentTypes
=== RUN   TestContentTypes/text/foo
=== RUN   TestContentTypes/text/foo;_charset=UTF-8
=== RUN   TestContentTypes/text/plain
=== RUN   TestContentTypes/text/plain;_charset=UTF-8
=== RUN   TestContentTypes/application/json
=== RUN   TestContentTypes/application/json;_charset=UTF-8
=== RUN   TestContentTypes/application/javascript
=== RUN   TestContentTypes/application/javascript;_charset=UTF-8
=== RUN   TestContentTypes/application/font-woff
=== RUN   TestContentTypes/application/font-woff;_charset=UTF-8
=== RUN   TestContentTypes/application/xml
=== RUN   TestContentTypes/application/xml;_charset=UTF-8
=== RUN   TestContentTypes/vendor/vendor.foo+json
=== RUN   TestContentTypes/vendor/vendor.foo+json;_charset=UTF-8
=== RUN   TestContentTypes/vendor/vendor.foo+xml
=== RUN   TestContentTypes/vendor/vendor.foo+xml;_charset=UTF-8
--- PASS: TestContentTypes (0.00s)
    --- PASS: TestContentTypes/text/foo (0.00s)
    --- PASS: TestContentTypes/text/foo;_charset=UTF-8 (0.00s)
    --- PASS: TestContentTypes/text/plain (0.00s)
    --- PASS: TestContentTypes/text/plain;_charset=UTF-8 (0.00s)
    --- PASS: TestContentTypes/application/json (0.00s)
    --- PASS: TestContentTypes/application/json;_charset=UTF-8 (0.00s)
    --- PASS: TestContentTypes/application/javascript (0.00s)
    --- PASS: TestContentTypes/application/javascript;_charset=UTF-8 (0.00s)
    --- PASS: TestContentTypes/application/font-woff (0.00s)
    --- PASS: TestContentTypes/application/font-woff;_charset=UTF-8 (0.00s)
    --- PASS: TestContentTypes/application/xml (0.00s)
    --- PASS: TestContentTypes/application/xml;_charset=UTF-8 (0.00s)
    --- PASS: TestContentTypes/vendor/vendor.foo+json (0.00s)
    --- PASS: TestContentTypes/vendor/vendor.foo+json;_charset=UTF-8 (0.00s)
    --- PASS: TestContentTypes/vendor/vendor.foo+xml (0.00s)
    --- PASS: TestContentTypes/vendor/vendor.foo+xml;_charset=UTF-8 (0.00s)
=== RUN   Test_GzipHandler_CompressableType
--- PASS: Test_GzipHandler_CompressableType (0.00s)
=== RUN   Test_GzipHandler_NotCompressingTwice
--- PASS: Test_GzipHandler_NotCompressingTwice (0.00s)
=== RUN   Test_GzipHandler_CompressableType_NoAccept
--- PASS: Test_GzipHandler_CompressableType_NoAccept (0.00s)
=== RUN   Test_GzipHandler_NonCompressableType
--- PASS: Test_GzipHandler_NonCompressableType (0.00s)
PASS
ok  	github.com/fabiolb/fabio/proxy/gzip	(cached)
?   	github.com/fabiolb/fabio/proxy/internal	[no test files]
=== RUN   TestClientHelloBufferSize
=== RUN   TestClientHelloBufferSize/valid_data
=== RUN   TestClientHelloBufferSize/not_enough_data
=== RUN   TestClientHelloBufferSize/not_a_TLS_record
=== RUN   TestClientHelloBufferSize/TLS_record_too_large
=== RUN   TestClientHelloBufferSize/TLS_record_length_zero
=== RUN   TestClientHelloBufferSize/Not_a_client_hello
=== RUN   TestClientHelloBufferSize/Invalid_handshake_message_record_length
=== RUN   TestClientHelloBufferSize/Fragmentation_(handshake_message_larger_than_record)
--- PASS: TestClientHelloBufferSize (0.00s)
    --- PASS: TestClientHelloBufferSize/valid_data (0.00s)
    --- PASS: TestClientHelloBufferSize/not_enough_data (0.00s)
    --- PASS: TestClientHelloBufferSize/not_a_TLS_record (0.00s)
    --- PASS: TestClientHelloBufferSize/TLS_record_too_large (0.00s)
    --- PASS: TestClientHelloBufferSize/TLS_record_length_zero (0.00s)
    --- PASS: TestClientHelloBufferSize/Not_a_client_hello (0.00s)
    --- PASS: TestClientHelloBufferSize/Invalid_handshake_message_record_length (0.00s)
    --- PASS: TestClientHelloBufferSize/Fragmentation_(handshake_message_larger_than_record) (0.00s)
=== RUN   TestReadServerName
=== RUN   TestReadServerName/valid_client_hello_with_server_name
=== RUN   TestReadServerName/valid_client_hello_but_no_server_name_extension
=== RUN   TestReadServerName/invalid_client_hello
--- PASS: TestReadServerName (0.00s)
    --- PASS: TestReadServerName/valid_client_hello_with_server_name (0.00s)
    --- PASS: TestReadServerName/valid_client_hello_but_no_server_name_extension (0.00s)
    --- PASS: TestReadServerName/invalid_client_hello (0.00s)
PASS
ok  	github.com/fabiolb/fabio/proxy/tcp	(cached)
?   	github.com/fabiolb/fabio/proxy/tcp/tcptest	[no test files]
?   	github.com/fabiolb/fabio/registry	[no test files]
=== RUN   TestParseTag
2018/09/12 08:51:48 [WARN] consul: Invalid p- tag "" - You need to have a trailing slash!
2018/09/12 08:51:48 [WARN] consul: Invalid p- tag "" - You need to have a trailing slash!
--- PASS: TestParseTag (0.00s)
=== RUN   TestPassingServices
=== RUN   TestPassingServices/expect_no_passing_checks_if_checks_array_is_nil
=== RUN   TestPassingServices/expect_no_passing_checks_if_checks_array_is_empty
=== RUN   TestPassingServices/expect_check_to_pass_if_it_has_a_matching_status
=== RUN   TestPassingServices/expect_all_checks_to_pass_if_they_have_a_matching_status
=== RUN   TestPassingServices/expect_that_internal_consul_checks_are_filtered_out
=== RUN   TestPassingServices/expect_no_passing_checks_if_consul_agent_is_unhealthy
2018/09/12 08:51:48 [DEBUG] consul: Skipping service "" since agent on node "node" is down:
=== RUN   TestPassingServices/expect_no_passing_checks_if_node_is_in_maintenance_mode
2018/09/12 08:51:48 [DEBUG] consul: Skipping service "" since node "node" is in maintenance mode:
=== RUN   TestPassingServices/expect_no_passing_check_if_corresponding_service_is_in_maintenance_mode
2018/09/12 08:51:48 [DEBUG] consul: Skipping service "abc-1" since it is in maintenance mode:
2018/09/12 08:51:48 [DEBUG] consul: Skipping service "abc-1" since it is in maintenance mode:
=== RUN   TestPassingServices/expect_no_passing_check_if_node_and_service_are_in_maintenance_mode
2018/09/12 08:51:48 [DEBUG] consul: Skipping service "" since node "node" is in maintenance mode:
2018/09/12 08:51:48 [DEBUG] consul: Skipping service "" since node "node" is in maintenance mode:
=== RUN   TestPassingServices/expect_no_passing_check_if_agent_is_unhealthy_or_node_and_service_are_in_maintenance_mode
2018/09/12 08:51:48 [DEBUG] consul: Skipping service "" since agent on node "node" is down:
2018/09/12 08:51:48 [DEBUG] consul: Skipping service "" since agent on node "node" is down:
=== RUN   TestPassingServices/expect_check_of_service_which_is_not_in_maintenance_mode_to_pass_if_another_instance_of_same_service_is_in_maintenance_mode
=== RUN   TestPassingServices/expect_that_no_checks_of_a_service_which_is_in_maintenance_mode_are_returned_even_if_it_has_a_passing_check
2018/09/12 08:51:48 [DEBUG] consul: Skipping service "abc-1" since it is in maintenance mode:
2018/09/12 08:51:48 [DEBUG] consul: Skipping service "abc-1" since it is in maintenance mode:
=== RUN   TestPassingServices/expect_that_a_service's_failing_check_does_not_affect_a_healthy_instance_of_same_service_running_on_different_node
=== RUN   TestPassingServices/service_in_maintenance_mode_does_not_affect_healthy_service_running_on_different_node
=== RUN   TestPassingServices/expect_that_internal_consul_check_and_failing_check_are_not_returned
=== RUN   TestPassingServices/expect_that_internal_consul_check_is_filtered_out_and_check_with_warning_is_passing
=== RUN   TestPassingServices/expect_that_warning_and_passing_non-internal_checks_are_returned
=== RUN   TestPassingServices/expect_that_warning_und_passing_non-internal_checks_are_returned
=== RUN   TestPassingServices/in_non-strict_mode,_expect_that_checks_which_belong_to_same_service_are_passing,_if_at_least_one_of_them_is_passing
=== RUN   TestPassingServices/in_strict_mode,_expect_that_no_checks_which_belong_to_same_service_are_passing,_if_not_all_of_them_are_passing
=== RUN   TestPassingServices/in_strict_mode,_expect_that_a_failing_check_of_one_service_does_not_affect_a_different_service's_passing_check
=== RUN   TestPassingServices/in_strict_mode,_expect_a_check_to_pass_if_all_of_the_other_checks_that_belong_to_the_same_service_are_passing
--- PASS: TestPassingServices (0.00s)
    --- PASS: TestPassingServices/expect_no_passing_checks_if_checks_array_is_nil (0.00s)
    --- PASS: TestPassingServices/expect_no_passing_checks_if_checks_array_is_empty (0.00s)
    --- PASS: TestPassingServices/expect_check_to_pass_if_it_has_a_matching_status (0.00s)
    --- PASS: TestPassingServices/expect_all_checks_to_pass_if_they_have_a_matching_status (0.00s)
    --- PASS: TestPassingServices/expect_that_internal_consul_checks_are_filtered_out (0.00s)
    --- PASS: TestPassingServices/expect_no_passing_checks_if_consul_agent_is_unhealthy (0.00s)
    --- PASS: TestPassingServices/expect_no_passing_checks_if_node_is_in_maintenance_mode (0.00s)
    --- PASS: TestPassingServices/expect_no_passing_check_if_corresponding_service_is_in_maintenance_mode (0.00s)
    --- PASS: TestPassingServices/expect_no_passing_check_if_node_and_service_are_in_maintenance_mode (0.00s)
    --- PASS: TestPassingServices/expect_no_passing_check_if_agent_is_unhealthy_or_node_and_service_are_in_maintenance_mode (0.00s)
    --- PASS: TestPassingServices/expect_check_of_service_which_is_not_in_maintenance_mode_to_pass_if_another_instance_of_same_service_is_in_maintenance_mode (0.00s)
    --- PASS: TestPassingServices/expect_that_no_checks_of_a_service_which_is_in_maintenance_mode_are_returned_even_if_it_has_a_passing_check (0.00s)
    --- PASS: TestPassingServices/expect_that_a_service's_failing_check_does_not_affect_a_healthy_instance_of_same_service_running_on_different_node (0.00s)
    --- PASS: TestPassingServices/service_in_maintenance_mode_does_not_affect_healthy_service_running_on_different_node (0.00s)
    --- PASS: TestPassingServices/expect_that_internal_consul_check_and_failing_check_are_not_returned (0.00s)
    --- PASS: TestPassingServices/expect_that_internal_consul_check_is_filtered_out_and_check_with_warning_is_passing (0.00s)
    --- PASS: TestPassingServices/expect_that_warning_and_passing_non-internal_checks_are_returned (0.00s)
    --- PASS: TestPassingServices/expect_that_warning_und_passing_non-internal_checks_are_returned (0.00s)
    --- PASS: TestPassingServices/in_non-strict_mode,_expect_that_checks_which_belong_to_same_service_are_passing,_if_at_least_one_of_them_is_passing (0.00s)
    --- PASS: TestPassingServices/in_strict_mode,_expect_that_no_checks_which_belong_to_same_service_are_passing,_if_not_all_of_them_are_passing (0.00s)
    --- PASS: TestPassingServices/in_strict_mode,_expect_that_a_failing_check_of_one_service_does_not_affect_a_different_service's_passing_check (0.00s)
    --- PASS: TestPassingServices/in_strict_mode,_expect_a_check_to_pass_if_all_of_the_other_checks_that_belong_to_the_same_service_are_passing (0.00s)
PASS
ok  	github.com/fabiolb/fabio/registry/consul	(cached)
?   	github.com/fabiolb/fabio/registry/file	[no test files]
?   	github.com/fabiolb/fabio/registry/static	[no test files]
=== RUN   TestAccessRules_parseAccessRule
=== RUN   TestAccessRules_parseAccessRule/valid_ipv4_rule
=== RUN   TestAccessRules_parseAccessRule/valid_ipv6_rule
=== RUN   TestAccessRules_parseAccessRule/invalid_rule_type
=== RUN   TestAccessRules_parseAccessRule/ip_rule_with_incomplete_address
=== RUN   TestAccessRules_parseAccessRule/ip_rule_with_bad_cidr_mask
=== RUN   TestAccessRules_parseAccessRule/single_ipv4_with_no_mask
=== RUN   TestAccessRules_parseAccessRule/single_ipv6_with_no_mask
--- PASS: TestAccessRules_parseAccessRule (0.00s)
    --- PASS: TestAccessRules_parseAccessRule/valid_ipv4_rule (0.00s)
    --- PASS: TestAccessRules_parseAccessRule/valid_ipv6_rule (0.00s)
    --- PASS: TestAccessRules_parseAccessRule/invalid_rule_type (0.00s)
    --- PASS: TestAccessRules_parseAccessRule/ip_rule_with_incomplete_address (0.00s)
    --- PASS: TestAccessRules_parseAccessRule/ip_rule_with_bad_cidr_mask (0.00s)
    --- PASS: TestAccessRules_parseAccessRule/single_ipv4_with_no_mask (0.00s)
    --- PASS: TestAccessRules_parseAccessRule/single_ipv6_with_no_mask (0.00s)
=== RUN   TestAccessRules_denyByIP
=== RUN   TestAccessRules_denyByIP/allow_rule_with_included_ipv4
=== RUN   TestAccessRules_denyByIP/allow_rule_with_exluded_ipv4
2018/09/12 08:51:49 [INFO] route rules denied access from 1.2.3.4 to http://testing.test/
=== RUN   TestAccessRules_denyByIP/deny_rule_with_included_ipv4
2018/09/12 08:51:49 [INFO] route rules denied access from 10.10.0.1 to http://testing.test/
=== RUN   TestAccessRules_denyByIP/deny_rule_with_excluded_ipv4
=== RUN   TestAccessRules_denyByIP/allow_rule_with_included_ipv6
=== RUN   TestAccessRules_denyByIP/allow_rule_with_exluded_ipv6
2018/09/12 08:51:49 [INFO] route rules denied access from 1234:5678::1 to http://testing.test/
=== RUN   TestAccessRules_denyByIP/deny_rule_with_included_ipv6
2018/09/12 08:51:49 [INFO] route rules denied access from 1234:dead:beef:cafe::5678 to http://testing.test/
=== RUN   TestAccessRules_denyByIP/deny_rule_with_excluded_ipv6
--- PASS: TestAccessRules_denyByIP (0.00s)
    --- PASS: TestAccessRules_denyByIP/allow_rule_with_included_ipv4 (0.00s)
    --- PASS: TestAccessRules_denyByIP/allow_rule_with_exluded_ipv4 (0.00s)
    --- PASS: TestAccessRules_denyByIP/deny_rule_with_included_ipv4 (0.00s)
    --- PASS: TestAccessRules_denyByIP/deny_rule_with_excluded_ipv4 (0.00s)
    --- PASS: TestAccessRules_denyByIP/allow_rule_with_included_ipv6 (0.00s)
    --- PASS: TestAccessRules_denyByIP/allow_rule_with_exluded_ipv6 (0.00s)
    --- PASS: TestAccessRules_denyByIP/deny_rule_with_included_ipv6 (0.00s)
    --- PASS: TestAccessRules_denyByIP/deny_rule_with_excluded_ipv6 (0.00s)
=== RUN   TestAccessRules_AccessDeniedHTTP
=== RUN   TestAccessRules_AccessDeniedHTTP/single_denied_xff_and_allowed_remote_addr
2018/09/12 08:51:49 [INFO] route rules denied access from 1.1.1.2 to http://testing.test/
=== RUN   TestAccessRules_AccessDeniedHTTP/allowed_xff_and_denied_remote_addr
2018/09/12 08:51:49 [INFO] route rules denied access from 1.1.1.2 to http://testing.test/
=== RUN   TestAccessRules_AccessDeniedHTTP/single_allowed_xff_and_allowed_remote_addr
2018/09/12 08:51:49 [INFO] route rules denied access from 1.2.3.4 to http://testing.test/
=== RUN   TestAccessRules_AccessDeniedHTTP/denied_xff_and_denied_remote_addr
2018/09/12 08:51:49 [INFO] route rules denied access from 200.17.18.20 to http://testing.test/
=== RUN   TestAccessRules_AccessDeniedHTTP/all_allowed_xff_and_allowed_remote_addr
--- PASS: TestAccessRules_AccessDeniedHTTP (0.00s)
    --- PASS: TestAccessRules_AccessDeniedHTTP/single_denied_xff_and_allowed_remote_addr (0.00s)
    --- PASS: TestAccessRules_AccessDeniedHTTP/allowed_xff_and_denied_remote_addr (0.00s)
    --- PASS: TestAccessRules_AccessDeniedHTTP/single_allowed_xff_and_allowed_remote_addr (0.00s)
    --- PASS: TestAccessRules_AccessDeniedHTTP/denied_xff_and_denied_remote_addr (0.00s)
    --- PASS: TestAccessRules_AccessDeniedHTTP/all_allowed_xff_and_allowed_remote_addr (0.00s)
=== RUN   TestIssue57
--- PASS: TestIssue57 (0.00s)
=== RUN   TestPrefixMatcher
=== RUN   TestPrefixMatcher//foo
=== RUN   TestPrefixMatcher//fools
=== RUN   TestPrefixMatcher//fo
=== RUN   TestPrefixMatcher//bar
--- PASS: TestPrefixMatcher (0.00s)
    --- PASS: TestPrefixMatcher//foo (0.00s)
    --- PASS: TestPrefixMatcher//fools (0.00s)
    --- PASS: TestPrefixMatcher//fo (0.00s)
    --- PASS: TestPrefixMatcher//bar (0.00s)
=== RUN   TestGlobMatcher
=== RUN   TestGlobMatcher//foo
=== RUN   TestGlobMatcher//fool
=== RUN   TestGlobMatcher//fool#01
=== RUN   TestGlobMatcher//fools
=== RUN   TestGlobMatcher//fools#01
=== RUN   TestGlobMatcher//foo/x/bar
=== RUN   TestGlobMatcher//foo/x/y/z/w/bar
=== RUN   TestGlobMatcher//foo/x/y/z/w/bar#01
=== RUN   TestGlobMatcher//fo
=== RUN   TestGlobMatcher//fools#02
=== RUN   TestGlobMatcher//fo#01
=== RUN   TestGlobMatcher//fools#03
=== RUN   TestGlobMatcher//foo/x/y/z/w/baz
--- PASS: TestGlobMatcher (0.00s)
    --- PASS: TestGlobMatcher//foo (0.00s)
    --- PASS: TestGlobMatcher//fool (0.00s)
    --- PASS: TestGlobMatcher//fool#01 (0.00s)
    --- PASS: TestGlobMatcher//fools (0.00s)
    --- PASS: TestGlobMatcher//fools#01 (0.00s)
    --- PASS: TestGlobMatcher//foo/x/bar (0.00s)
    --- PASS: TestGlobMatcher//foo/x/y/z/w/bar (0.00s)
    --- PASS: TestGlobMatcher//foo/x/y/z/w/bar#01 (0.00s)
    --- PASS: TestGlobMatcher//fo (0.00s)
    --- PASS: TestGlobMatcher//fools#02 (0.00s)
    --- PASS: TestGlobMatcher//fo#01 (0.00s)
    --- PASS: TestGlobMatcher//fools#03 (0.00s)
    --- PASS: TestGlobMatcher//foo/x/y/z/w/baz (0.00s)
=== RUN   TestParse
=== RUN   TestParse/Parse-FailEmpty
=== RUN   TestParse/Parse-FailNoRoute
=== RUN   TestParse/Parse-FailRouteNoCmd
=== RUN   TestParse/Parse-FailRouteAddNoService
=== RUN   TestParse/Parse-FailRouteAddNoSrc
=== RUN   TestParse/Parse-RouteAddService
=== RUN   TestParse/Parse-RouteAddTCPService
=== RUN   TestParse/Parse-RouteAddServiceWeight
=== RUN   TestParse/Parse-RouteAddServiceWeightTags
=== RUN   TestParse/Parse-RouteAddServiceWeightOpts
=== RUN   TestParse/Parse-RouteAddServiceWeightTagsOpts
=== RUN   TestParse/Parse-RouteAddServiceWeightTagsOptsMoreSpaces
=== RUN   TestParse/Parse-RouteAddTags
=== RUN   TestParse/Parse-RouteAddTagsOpts
=== RUN   TestParse/Parse-RouteAddOpts
=== RUN   TestParse/Parse-RouteDelTags
=== RUN   TestParse/Parse-RouteDelTagsMoreSpaces
=== RUN   TestParse/Parse-RouteDelService
=== RUN   TestParse/Parse-RouteDelServiceTags
=== RUN   TestParse/Parse-RouteDelServiceTagsMoreSpaces
=== RUN   TestParse/Parse-RouteDelServiceSrc
=== RUN   TestParse/Parse-RouteDelTCPServiceSrc
=== RUN   TestParse/Parse-RouteDelServiceSrcDst
=== RUN   TestParse/Parse-RouteDelTCPServiceSrcDst
=== RUN   TestParse/Parse-RouteDelServiceSrcDstMoreSpaces
=== RUN   TestParse/Parse-RouteWeightServiceSrc
=== RUN   TestParse/Parse-RouteWeightServiceSrcTags
=== RUN   TestParse/Parse-RouteWeightServiceSrcTagsMoreSpaces
=== RUN   TestParse/Parse-RouteWeightSrcTags
=== RUN   TestParse/Parse-RouteWeightSrcTagsMoreSpaces
--- PASS: TestParse (0.00s)
    --- PASS: TestParse/Parse-FailEmpty (0.00s)
    --- PASS: TestParse/Parse-FailNoRoute (0.00s)
    --- PASS: TestParse/Parse-FailRouteNoCmd (0.00s)
    --- PASS: TestParse/Parse-FailRouteAddNoService (0.00s)
    --- PASS: TestParse/Parse-FailRouteAddNoSrc (0.00s)
    --- PASS: TestParse/Parse-RouteAddService (0.00s)
    --- PASS: TestParse/Parse-RouteAddTCPService (0.00s)
    --- PASS: TestParse/Parse-RouteAddServiceWeight (0.00s)
    --- PASS: TestParse/Parse-RouteAddServiceWeightTags (0.00s)
    --- PASS: TestParse/Parse-RouteAddServiceWeightOpts (0.00s)
    --- PASS: TestParse/Parse-RouteAddServiceWeightTagsOpts (0.00s)
    --- PASS: TestParse/Parse-RouteAddServiceWeightTagsOptsMoreSpaces (0.00s)
    --- PASS: TestParse/Parse-RouteAddTags (0.00s)
    --- PASS: TestParse/Parse-RouteAddTagsOpts (0.00s)
    --- PASS: TestParse/Parse-RouteAddOpts (0.00s)
    --- PASS: TestParse/Parse-RouteDelTags (0.00s)
    --- PASS: TestParse/Parse-RouteDelTagsMoreSpaces (0.00s)
    --- PASS: TestParse/Parse-RouteDelService (0.00s)
    --- PASS: TestParse/Parse-RouteDelServiceTags (0.00s)
    --- PASS: TestParse/Parse-RouteDelServiceTagsMoreSpaces (0.00s)
    --- PASS: TestParse/Parse-RouteDelServiceSrc (0.00s)
    --- PASS: TestParse/Parse-RouteDelTCPServiceSrc (0.00s)
    --- PASS: TestParse/Parse-RouteDelServiceSrcDst (0.00s)
    --- PASS: TestParse/Parse-RouteDelTCPServiceSrcDst (0.00s)
    --- PASS: TestParse/Parse-RouteDelServiceSrcDstMoreSpaces (0.00s)
    --- PASS: TestParse/Parse-RouteWeightServiceSrc (0.00s)
    --- PASS: TestParse/Parse-RouteWeightServiceSrcTags (0.00s)
    --- PASS: TestParse/Parse-RouteWeightServiceSrcTagsMoreSpaces (0.00s)
    --- PASS: TestParse/Parse-RouteWeightSrcTags (0.00s)
    --- PASS: TestParse/Parse-RouteWeightSrcTagsMoreSpaces (0.00s)
=== RUN   TestParseAliases
=== RUN   TestParseAliases/ParseAliases-FailEmpty
=== RUN   TestParseAliases/ParseAliases-FailNoRoute
=== RUN   TestParseAliases/ParseAliases-FailRouteNoCmd
=== RUN   TestParseAliases/ParseAliases-FailRouteAddNoService
=== RUN   TestParseAliases/ParseAliases-FailRouteAddNoSrc
=== RUN   TestParseAliases/ParseAliases-RouteAddServiceWithoutAlias
=== RUN   TestParseAliases/ParseAliases-RouteAddServiceWithAlias
=== RUN   TestParseAliases/ParseAliases-RouteAddServicesWithoutAliases
=== RUN   TestParseAliases/ParseAliases-RouteAddServicesWithAliases
--- PASS: TestParseAliases (0.00s)
    --- PASS: TestParseAliases/ParseAliases-FailEmpty (0.00s)
    --- PASS: TestParseAliases/ParseAliases-FailNoRoute (0.00s)
    --- PASS: TestParseAliases/ParseAliases-FailRouteNoCmd (0.00s)
    --- PASS: TestParseAliases/ParseAliases-FailRouteAddNoService (0.00s)
    --- PASS: TestParseAliases/ParseAliases-FailRouteAddNoSrc (0.00s)
    --- PASS: TestParseAliases/ParseAliases-RouteAddServiceWithoutAlias (0.00s)
    --- PASS: TestParseAliases/ParseAliases-RouteAddServiceWithAlias (0.00s)
    --- PASS: TestParseAliases/ParseAliases-RouteAddServicesWithoutAliases (0.00s)
    --- PASS: TestParseAliases/ParseAliases-RouteAddServicesWithAliases (0.00s)
=== RUN   TestRndPicker
--- PASS: TestRndPicker (0.00s)
=== RUN   TestRRPicker
--- PASS: TestRRPicker (0.00s)
=== RUN   TestSyncRegistry
2018/09/12 08:51:49 [INFO] Unregistered timer svc-b._./bbb.localhost_5678
--- PASS: TestSyncRegistry (0.00s)
=== RUN   TestTableParse
=== RUN   TestTableParse/1_service,_1_prefix
=== RUN   TestTableParse/1_service,_1_prefix,_3_instances
=== RUN   TestTableParse/1_service,_1_prefix_with_option
=== RUN   TestTableParse/1_service,_1_prefix,_2_instances_with_different_options
=== RUN   TestTableParse/2_service,_1_prefix
=== RUN   TestTableParse/1_service,_2_prefix
=== RUN   TestTableParse/2_service,_2_prefix
=== RUN   TestTableParse/sort_by_more_specific_prefix
=== RUN   TestTableParse/sort_prefix_with_host_before_prefix_without_host
=== RUN   TestTableParse/add_more_specific_prefix_to_existing_host
=== RUN   TestTableParse/delete_route_by_service,_path_and_target
=== RUN   TestTableParse/delete_route_by_service_and_path
=== RUN   TestTableParse/delete_route_by_service
=== RUN   TestTableParse/delete_route_by_service_and_tags
=== RUN   TestTableParse/delete_route_by_tags
=== RUN   TestTableParse/weigh_fixed_weight_0_->_auto_distribution
=== RUN   TestTableParse/weigh_only_fixed_weights_and_sum(fixedWeight)_<_1_->_normalize_to_100%
=== RUN   TestTableParse/weigh_only_fixed_weights_and_sum(fixedWeight)_>_1_->_normalize_to_100%
=== RUN   TestTableParse/weigh_multiple_entries_for_same_instance_with_no_fixed_weight_->_de-duplication
=== RUN   TestTableParse/weigh_multiple_entries_with_no_fixed_weight_->_even_distribution
=== RUN   TestTableParse/weigh_multiple_entries_with_de-dup_and_no_fixed_weight_->_even_distribution
=== RUN   TestTableParse/weigh_mixed_fixed_and_auto_weights_->_even_distribution_of_remaining_weight_across_non-fixed_weighted_targets
=== RUN   TestTableParse/weigh_fixed_weight_==_100%_->_route_only_to_fixed_weighted_targets
=== RUN   TestTableParse/weigh_fixed_weight_>_100%__->_route_only_to_fixed_weighted_targets_and_normalize_weight
=== RUN   TestTableParse/weigh_dynamic_weight_matched_on_service_name
=== RUN   TestTableParse/weigh_dynamic_weight_matched_on_service_name_and_tags
=== RUN   TestTableParse/weigh_dynamic_weight_matched_on_tags
=== RUN   TestTableParse/weigh_more_than_1000_routes
=== RUN   TestTableParse/weigh_more_than_1000_routes_with_a_fixed_route_target
--- PASS: TestTableParse (0.63s)
    --- PASS: TestTableParse/1_service,_1_prefix (0.00s)
    --- PASS: TestTableParse/1_service,_1_prefix,_3_instances (0.00s)
    --- PASS: TestTableParse/1_service,_1_prefix_with_option (0.00s)
    --- PASS: TestTableParse/1_service,_1_prefix,_2_instances_with_different_options (0.00s)
    --- PASS: TestTableParse/2_service,_1_prefix (0.00s)
    --- PASS: TestTableParse/1_service,_2_prefix (0.00s)
    --- PASS: TestTableParse/2_service,_2_prefix (0.00s)
    --- PASS: TestTableParse/sort_by_more_specific_prefix (0.00s)
    --- PASS: TestTableParse/sort_prefix_with_host_before_prefix_without_host (0.00s)
    --- PASS: TestTableParse/add_more_specific_prefix_to_existing_host (0.00s)
    --- PASS: TestTableParse/delete_route_by_service,_path_and_target (0.00s)
    --- PASS: TestTableParse/delete_route_by_service_and_path (0.00s)
    --- PASS: TestTableParse/delete_route_by_service (0.00s)
    --- PASS: TestTableParse/delete_route_by_service_and_tags (0.00s)
    --- PASS: TestTableParse/delete_route_by_tags (0.00s)
    --- PASS: TestTableParse/weigh_fixed_weight_0_->_auto_distribution (0.00s)
    --- PASS: TestTableParse/weigh_only_fixed_weights_and_sum(fixedWeight)_<_1_->_normalize_to_100% (0.00s)
    --- PASS: TestTableParse/weigh_only_fixed_weights_and_sum(fixedWeight)_>_1_->_normalize_to_100% (0.00s)
    --- PASS: TestTableParse/weigh_multiple_entries_for_same_instance_with_no_fixed_weight_->_de-duplication (0.00s)
    --- PASS: TestTableParse/weigh_multiple_entries_with_no_fixed_weight_->_even_distribution (0.00s)
    --- PASS: TestTableParse/weigh_multiple_entries_with_de-dup_and_no_fixed_weight_->_even_distribution (0.00s)
    --- PASS: TestTableParse/weigh_mixed_fixed_and_auto_weights_->_even_distribution_of_remaining_weight_across_non-fixed_weighted_targets (0.00s)
    --- PASS: TestTableParse/weigh_fixed_weight_==_100%_->_route_only_to_fixed_weighted_targets (0.00s)
    --- PASS: TestTableParse/weigh_fixed_weight_>_100%__->_route_only_to_fixed_weighted_targets_and_normalize_weight (0.00s)
    --- PASS: TestTableParse/weigh_dynamic_weight_matched_on_service_name (0.00s)
    --- PASS: TestTableParse/weigh_dynamic_weight_matched_on_service_name_and_tags (0.00s)
    --- PASS: TestTableParse/weigh_dynamic_weight_matched_on_tags (0.00s)
    --- PASS: TestTableParse/weigh_more_than_1000_routes (0.30s)
    --- PASS: TestTableParse/weigh_more_than_1000_routes_with_a_fixed_route_target (0.32s)
=== RUN   TestNormalizeHost
--- PASS: TestNormalizeHost (0.00s)
=== RUN   TestTableLookupIssue448
--- PASS: TestTableLookupIssue448 (0.00s)
=== RUN   TestTableLookup
--- PASS: TestTableLookup (0.00s)
=== RUN   TestTarget_BuildRedirectURL
--- PASS: TestTarget_BuildRedirectURL (0.00s)
PASS
ok  	github.com/fabiolb/fabio/route	(cached)
?   	github.com/fabiolb/fabio/uuid	[no test files]
make: *** [test] Error 1

@aaronhurt
Copy link
Member

@holtwilkins yes, that's something that needs to be fixed. Tests with newer consul and vault are failing. Thanks for attaching though. LGTM.

@aaronhurt aaronhurt merged commit dc67d5a into fabiolb:master Sep 12, 2018
@magiconair magiconair added this to the 1.5.10 milestone Sep 19, 2018
@holtwilkins holtwilkins deleted the host-pseudo-var branch October 4, 2019 00:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants