websocket_error.go 444 B

12345678910111213141516171819202122
  1. package helper
  2. import (
  3. "github.com/gorilla/websocket"
  4. "github.com/pkg/errors"
  5. "syscall"
  6. )
  7. func IsUnexpectedWebsocketError(err error) bool {
  8. // nil error is an expected error
  9. if err == nil {
  10. return false
  11. }
  12. // ignore: write: broken pipe
  13. if errors.Is(err, syscall.EPIPE) {
  14. return false
  15. }
  16. return websocket.IsUnexpectedCloseError(err,
  17. websocket.CloseGoingAway,
  18. websocket.CloseNoStatusReceived,
  19. websocket.CloseNormalClosure)
  20. }