log: 2015/07/09 00:13:44 some-file.go:147: POST {payload}
log: 2015/07/09 00:13:45 some-file.go:65: error is temporary=true, timed out=true for network error: Post https://somewhere.com/path: read tcp xx.xx.xx.xx:443: i/o timeout
Every once in a while, I post the payload, and 1 second later it reports an "i/o timeout".
func timeoutDialer(config *Config) func(network, addr string) (c net.Conn, err error) {
return func(network, addr string) (net.Conn, error) {
conn, err := net.DialTimeout(network, addr, config.ConnectTimeout)
if err != nil {
return nil, err
}
conn.SetDeadline(time.Now().Add(config.ReadWriteTimeout))
return conn, nil
}
}
client := &http.Client{
Transport: &http.Transport{
Proxy: nil,
Dial: timeoutDialer(config),
TLSClientConfig: &tls.Config{
InsecureSkipVerify: insecure,
},
},
}log: 2015/07/09 00:13:44 some-file.go:147: POST {payload}
log: 2015/07/09 00:13:45 some-file.go:65: error is temporary=true, timed out=true for network error: Post https://somewhere.com/path: read tcp xx.xx.xx.xx:443: i/o timeout
log: 2015/07/09 00:13:46 some-file.go:33: retry (1/3) because network error read tcp xx.xx.xx.xx:443: i/o timeout
log: 2015/07/09 00:13:46 some-file.go:33: POST {payload}
log: 2015/07/09 00:13:47 some-file.go:66: error remote endpoint detected duplicate for {payload}