diff options
author | Brad Fitzpatrick <bradfitz@golang.org> | 2018-01-05 17:03:51 +0000 |
---|---|---|
committer | Brad Fitzpatrick <bradfitz@golang.org> | 2018-01-05 18:30:56 +0000 |
commit | fcdcb19496d97f2e039e6fd6fff615d4adb41392 (patch) | |
tree | 5b63e0e3fd65f8936e80b89318d92eb9932070c2 | |
parent | 596e3d9c0176db442a51202a2ae2834ac892d594 (diff) | |
download | go-fcdcb19496d97f2e039e6fd6fff615d4adb41392.tar.gz go-fcdcb19496d97f2e039e6fd6fff615d4adb41392.zip |
net/http: document internal error errServerClosedIdle more
Updates #19943
Change-Id: Iea249be51a7af3264bee9ee2b28dbd91043275fc
Reviewed-on: https://go-review.googlesource.com/86375
Reviewed-by: Ian Lance Taylor <iant@golang.org>
-rw-r--r-- | src/net/http/transport.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/net/http/transport.go b/src/net/http/transport.go index 7c38ac4464..c9758e9b38 100644 --- a/src/net/http/transport.go +++ b/src/net/http/transport.go @@ -655,9 +655,14 @@ var ( errTooManyIdleHost = errors.New("http: putIdleConn: too many idle connections for host") errCloseIdleConns = errors.New("http: CloseIdleConnections called") errReadLoopExiting = errors.New("http: persistConn.readLoop exiting") - errServerClosedIdle = errors.New("http: server closed idle connection") errIdleConnTimeout = errors.New("http: idle connection timeout") errNotCachingH2Conn = errors.New("http: not caching alternate protocol's connections") + + // errServerClosedIdle is not seen by users for idempotent requests, but may be + // seen by a user if the server shuts down an idle connection and sends its FIN + // in flight with already-written POST body bytes from the client. + // See https://github.com/golang/go/issues/19943#issuecomment-355607646 + errServerClosedIdle = errors.New("http: server closed idle connection") ) // transportReadFromServerError is used by Transport.readLoop when the |