blob: 3c6c2186cf72b4c54d0a2c3887609ec3da966bc6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
//go:build windows
// +build windows
package handler
import (
"errors"
"net"
"os"
"syscall"
)
//Software caused connection abort.
//An established connection was aborted by the software in your host computer,
//possibly due to a data transmission time-out or protocol error.
var errEPIPE = errors.New("WSAECONNABORTED (10053) -> an established connection was aborted by peer")
// handleWriteError just check if error was caused by aborted connection on windows
func handleWriteError(err error) error {
if netErr, ok2 := err.(*net.OpError); ok2 {
if syscallErr, ok3 := netErr.Err.(*os.SyscallError); ok3 {
if syscallErr.Err == syscall.WSAECONNABORTED {
return errEPIPE
}
}
}
return err
}
|