|
@@ -15,7 +15,7 @@ import (
|
|
|
"net/http/httputil"
|
|
"net/http/httputil"
|
|
|
"os"
|
|
"os"
|
|
|
"runtime"
|
|
"runtime"
|
|
|
- "syscall"
|
|
|
|
|
|
|
+ "strings"
|
|
|
"time"
|
|
"time"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
@@ -45,7 +45,7 @@ func RecoveryWithWriter(out io.Writer) HandlerFunc {
|
|
|
var brokenPipe bool
|
|
var brokenPipe bool
|
|
|
if ne, ok := err.(*net.OpError); ok {
|
|
if ne, ok := err.(*net.OpError); ok {
|
|
|
if se, ok := ne.Err.(*os.SyscallError); ok {
|
|
if se, ok := ne.Err.(*os.SyscallError); ok {
|
|
|
- if se.Err == syscall.EPIPE || se.Err == syscall.ECONNRESET {
|
|
|
|
|
|
|
+ if strings.Contains(strings.ToLower(se.Error()), "broken pipe") || strings.Contains(strings.ToLower(se.Error()), "connection reset by peer") {
|
|
|
brokenPipe = true
|
|
brokenPipe = true
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|