Constant errors

This commit is contained in:
Ola
2022-09-13 15:51:28 +02:00
parent 5dfe76a8fb
commit 964c1f0660
3 changed files with 24 additions and 16 deletions
+7 -8
View File
@@ -1,7 +1,6 @@
package melody
import (
"errors"
"net/http"
"sync"
"time"
@@ -23,20 +22,20 @@ type Session struct {
func (s *Session) writeMessage(message *envelope) {
if s.closed() {
s.melody.errorHandler(s, errors.New("tried to write to closed a session"))
s.melody.errorHandler(s, ErrWriteClosed)
return
}
select {
case s.output <- message:
default:
s.melody.errorHandler(s, errors.New("session message buffer is full"))
s.melody.errorHandler(s, ErrMessageBufferFull)
}
}
func (s *Session) writeRaw(message *envelope) error {
if s.closed() {
return errors.New("tried to write to a closed session")
return ErrWriteClosed
}
s.conn.SetWriteDeadline(time.Now().Add(s.melody.Config.WriteWait))
@@ -144,7 +143,7 @@ func (s *Session) readPump() {
// Write writes message to session.
func (s *Session) Write(msg []byte) error {
if s.closed() {
return errors.New("session is closed")
return ErrSessionClosed
}
s.writeMessage(&envelope{t: websocket.TextMessage, msg: msg})
@@ -155,7 +154,7 @@ func (s *Session) Write(msg []byte) error {
// WriteBinary writes a binary message to session.
func (s *Session) WriteBinary(msg []byte) error {
if s.closed() {
return errors.New("session is closed")
return ErrSessionClosed
}
s.writeMessage(&envelope{t: websocket.BinaryMessage, msg: msg})
@@ -166,7 +165,7 @@ func (s *Session) WriteBinary(msg []byte) error {
// Close closes session.
func (s *Session) Close() error {
if s.closed() {
return errors.New("session is already closed")
return ErrSessionClosed
}
s.writeMessage(&envelope{t: websocket.CloseMessage, msg: []byte{}})
@@ -178,7 +177,7 @@ func (s *Session) Close() error {
// Use the FormatCloseMessage function to format a proper close message payload.
func (s *Session) CloseWithMsg(msg []byte) error {
if s.closed() {
return errors.New("session is already closed")
return ErrSessionClosed
}
s.writeMessage(&envelope{t: websocket.CloseMessage, msg: msg})