forked from mirror/websocket
parent
c66b764651
commit
f71d4a996f
13
conn.go
13
conn.go
|
@ -103,7 +103,7 @@ func (e *CloseError) Error() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
errWriteTimeout = &netError{msg: "websocket: write timeout", timeout: true}
|
errWriteTimeout = &netError{msg: "websocket: write timeout", timeout: true, temporary: true}
|
||||||
errUnexpectedEOF = &CloseError{Code: CloseAbnormalClosure, Text: io.ErrUnexpectedEOF.Error()}
|
errUnexpectedEOF = &CloseError{Code: CloseAbnormalClosure, Text: io.ErrUnexpectedEOF.Error()}
|
||||||
errBadWriteOpCode = errors.New("websocket: bad write message type")
|
errBadWriteOpCode = errors.New("websocket: bad write message type")
|
||||||
errWriteClosed = errors.New("websocket: write closed")
|
errWriteClosed = errors.New("websocket: write closed")
|
||||||
|
@ -300,7 +300,7 @@ func (c *Conn) WriteControl(messageType int, data []byte, deadline time.Time) er
|
||||||
if n != 0 && n != len(buf) {
|
if n != 0 && n != len(buf) {
|
||||||
c.conn.Close()
|
c.conn.Close()
|
||||||
}
|
}
|
||||||
return err
|
return hideTempErr(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// NextWriter returns a writer for the next message to send. The writer's
|
// NextWriter returns a writer for the next message to send. The writer's
|
||||||
|
@ -794,8 +794,13 @@ func (c *Conn) SetReadLimit(limit int64) {
|
||||||
func (c *Conn) SetPingHandler(h func(appData string) error) {
|
func (c *Conn) SetPingHandler(h func(appData string) error) {
|
||||||
if h == nil {
|
if h == nil {
|
||||||
h = func(message string) error {
|
h = func(message string) error {
|
||||||
c.WriteControl(PongMessage, []byte(message), time.Now().Add(writeWait))
|
err := c.WriteControl(PongMessage, []byte(message), time.Now().Add(writeWait))
|
||||||
return nil
|
if err == ErrCloseSent {
|
||||||
|
return nil
|
||||||
|
} else if e, ok := err.(net.Error); ok && e.Temporary() {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
c.handlePing = h
|
c.handlePing = h
|
||||||
|
|
Loading…
Reference in New Issue