Skip to content

Commit

Permalink
fix 2 error codes captures, work on #1104
Browse files Browse the repository at this point in the history
  • Loading branch information
mstoykov committed Sep 18, 2019
1 parent ab970ca commit 445689f
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 7 deletions.
12 changes: 7 additions & 5 deletions lib/netext/httpext/error_codes.go
Original file line number Diff line number Diff line change
Expand Up @@ -133,11 +133,13 @@ func errorCodeForError(err error) (errCode, string) {
return defaultNetNonTCPErrorCode, err.Error()
}
if e.Op == "write" {
switch e.Err.Error() {
case syscall.ECONNRESET.Error():
return tcpResetByPeerErrorCode, tcpResetByPeerErrorCodeMsg
case syscall.EPIPE.Error():
return tcpBrokenPipeErrorCode, tcpBrokenPipeErrorCodeMsg
if sErr, ok := e.Err.(*os.SyscallError); ok {
switch sErr.Err {
case syscall.ECONNRESET:
return tcpResetByPeerErrorCode, tcpResetByPeerErrorCodeMsg
case syscall.EPIPE:
return tcpBrokenPipeErrorCode, tcpBrokenPipeErrorCodeMsg
}
}
}
if e.Op == "dial" {
Expand Down
4 changes: 2 additions & 2 deletions lib/netext/httpext/error_codes_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,8 @@ func TestUnknownNetErrno(t *testing.T) {
func TestTCPErrors(t *testing.T) {
var (
nonTCPError = &net.OpError{Net: "something", Err: errors.New("non tcp error")}
econnreset = &net.OpError{Net: "tcp", Op: "write", Err: syscall.ECONNRESET}
epipeerror = &net.OpError{Net: "tcp", Op: "write", Err: syscall.EPIPE}
econnreset = &net.OpError{Net: "tcp", Op: "write", Err: &os.SyscallError{Err: syscall.ECONNRESET}}
epipeerror = &net.OpError{Net: "tcp", Op: "write", Err: &os.SyscallError{Err: syscall.EPIPE}}
econnrefused = &net.OpError{Net: "tcp", Op: "dial", Err: &os.SyscallError{Err: syscall.ECONNREFUSED}}
errnounknown = &net.OpError{Net: "tcp", Op: "dial", Err: &os.SyscallError{Err: syscall.E2BIG}}
tcperror = &net.OpError{Net: "tcp", Err: errors.New("tcp error")}
Expand Down

0 comments on commit 445689f

Please sign in to comment.