GoDoxy/internal/route/stream/errors.go

41 lines
728 B
Go

package stream
import (
"context"
"errors"
"io"
"syscall"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
)
func convertErr(err error) error {
if err == nil {
return nil
}
switch {
case errors.Is(err, context.Canceled),
errors.Is(err, io.ErrClosedPipe),
errors.Is(err, syscall.ECONNRESET):
return nil
default:
return err
}
}
func logErr(stream zerolog.LogObjectMarshaler, err error, msg string) {
err = convertErr(err)
if err == nil {
return
}
log.Err(err).Object("stream", stream).Msg(msg)
}
func logErrf(stream zerolog.LogObjectMarshaler, err error, format string, v ...any) {
err = convertErr(err)
if err == nil {
return
}
log.Err(err).Object("stream", stream).Msgf(format, v...)
}