From 5130d94bbcfb559bf185f744d0bb3b7cd31061e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20=C5=A0ediv=C3=BD?= Date: Wed, 1 Sep 2021 23:10:18 +0200 Subject: [PATCH] websocket handler simplified logging. --- internal/websocket/handler/clipboard.go | 10 ++++----- internal/websocket/handler/control.go | 11 ++++------ internal/websocket/handler/handler.go | 2 +- internal/websocket/handler/keyboard.go | 12 ++++------- internal/websocket/handler/screen.go | 7 +++---- internal/websocket/handler/send.go | 7 +++---- internal/websocket/handler/signal.go | 27 +++++++------------------ internal/websocket/handler/system.go | 5 +++-- 8 files changed, 29 insertions(+), 52 deletions(-) diff --git a/internal/websocket/handler/clipboard.go b/internal/websocket/handler/clipboard.go index 6c4618c6..123c00a7 100644 --- a/internal/websocket/handler/clipboard.go +++ b/internal/websocket/handler/clipboard.go @@ -1,21 +1,19 @@ package handler import ( + "errors" + "demodesk/neko/internal/types" "demodesk/neko/internal/types/message" ) func (h *MessageHandlerCtx) clipboardSet(session types.Session, payload *message.ClipboardData) error { - logger := h.logger.With().Str("session_id", session.ID()).Logger() - if !session.Profile().CanAccessClipboard { - logger.Debug().Msg("cannot access clipboard") - return nil + return errors.New("cannot access clipboard") } if !session.IsHost() { - logger.Debug().Msg("is not the host") - return nil + return errors.New("is not the host") } return h.desktop.ClipboardSetText(types.ClipboardText{ diff --git a/internal/websocket/handler/control.go b/internal/websocket/handler/control.go index 71c0f21a..ebc678e3 100644 --- a/internal/websocket/handler/control.go +++ b/internal/websocket/handler/control.go @@ -1,6 +1,8 @@ package handler import ( + "errors" + "demodesk/neko/internal/types" "demodesk/neko/internal/types/event" "demodesk/neko/internal/types/message" @@ -26,16 +28,12 @@ func (h *MessageHandlerCtx) controlRelease(session types.Session) error { } func (h *MessageHandlerCtx) controlRequest(session types.Session) error { - logger := h.logger.With().Str("session_id", session.ID()).Logger() - if !session.Profile().CanHost { - logger.Debug().Msg("is not allowed to host") - return nil + return errors.New("is not allowed to host") } if session.IsHost() { - logger.Debug().Msg("is already the host") - return nil + return errors.New("is already the host") } if !h.sessions.ImplicitHosting() { @@ -53,6 +51,5 @@ func (h *MessageHandlerCtx) controlRequest(session types.Session) error { } h.sessions.SetHost(session) - return nil } diff --git a/internal/websocket/handler/handler.go b/internal/websocket/handler/handler.go index cc6f2e8d..2f3b5b28 100644 --- a/internal/websocket/handler/handler.go +++ b/internal/websocket/handler/handler.go @@ -113,7 +113,7 @@ func (h *MessageHandlerCtx) Message(session types.Session, data types.WebSocketM } if err != nil { - logger.Error().Err(err).Msg("message handler has failed") + logger.Warn().Err(err).Msg("message handler has failed") } return true diff --git a/internal/websocket/handler/keyboard.go b/internal/websocket/handler/keyboard.go index 72d21a26..457b3828 100644 --- a/internal/websocket/handler/keyboard.go +++ b/internal/websocket/handler/keyboard.go @@ -1,16 +1,15 @@ package handler import ( + "errors" + "demodesk/neko/internal/types" "demodesk/neko/internal/types/message" ) func (h *MessageHandlerCtx) keyboardMap(session types.Session, payload *message.KeyboardMap) error { - logger := h.logger.With().Str("session_id", session.ID()).Logger() - if !session.IsHost() { - logger.Debug().Msg("is not the host") - return nil + return errors.New("is not the host") } return h.desktop.SetKeyboardMap(types.KeyboardMap{ @@ -20,11 +19,8 @@ func (h *MessageHandlerCtx) keyboardMap(session types.Session, payload *message. } func (h *MessageHandlerCtx) keyboardModifiers(session types.Session, payload *message.KeyboardModifiers) error { - logger := h.logger.With().Str("session_id", session.ID()).Logger() - if !session.IsHost() { - logger.Debug().Msg("is not the host") - return nil + return errors.New("is not the host") } h.desktop.SetKeyboardModifiers(types.KeyboardModifiers{ diff --git a/internal/websocket/handler/screen.go b/internal/websocket/handler/screen.go index 4ae16230..cce9f4ec 100644 --- a/internal/websocket/handler/screen.go +++ b/internal/websocket/handler/screen.go @@ -1,17 +1,16 @@ package handler import ( + "errors" + "demodesk/neko/internal/types" "demodesk/neko/internal/types/event" "demodesk/neko/internal/types/message" ) func (h *MessageHandlerCtx) screenSet(session types.Session, payload *message.ScreenSize) error { - logger := h.logger.With().Str("session_id", session.ID()).Logger() - if !session.Profile().IsAdmin { - logger.Debug().Msg("is not the admin") - return nil + return errors.New("is not the admin") } if err := h.desktop.SetScreenSize(types.ScreenSize{ diff --git a/internal/websocket/handler/send.go b/internal/websocket/handler/send.go index 5a8be5af..9c59b14d 100644 --- a/internal/websocket/handler/send.go +++ b/internal/websocket/handler/send.go @@ -1,18 +1,17 @@ package handler import ( + "errors" + "demodesk/neko/internal/types" "demodesk/neko/internal/types/event" "demodesk/neko/internal/types/message" ) func (h *MessageHandlerCtx) sendUnicast(session types.Session, payload *message.SendUnicast) error { - logger := h.logger.With().Str("session_id", session.ID()).Logger() - receiver, ok := h.sessions.Get(payload.Receiver) if !ok { - logger.Debug().Msg("receiver session ID not found") - return nil + return errors.New("receiver session ID not found") } receiver.Send( diff --git a/internal/websocket/handler/signal.go b/internal/websocket/handler/signal.go index 0e48b1f3..873fc913 100644 --- a/internal/websocket/handler/signal.go +++ b/internal/websocket/handler/signal.go @@ -1,17 +1,16 @@ package handler import ( + "errors" + "demodesk/neko/internal/types" "demodesk/neko/internal/types/event" "demodesk/neko/internal/types/message" ) func (h *MessageHandlerCtx) signalRequest(session types.Session, payload *message.SignalVideo) error { - logger := h.logger.With().Str("session_id", session.ID()).Logger() - if !session.Profile().CanWatch { - logger.Debug().Msg("not allowed to watch") - return nil + return errors.New("not allowed to watch") } // use default first video, if not provided @@ -37,12 +36,9 @@ func (h *MessageHandlerCtx) signalRequest(session types.Session, payload *messag } func (h *MessageHandlerCtx) signalRestart(session types.Session) error { - logger := h.logger.With().Str("session_id", session.ID()).Logger() - peer := session.GetWebRTCPeer() if peer == nil { - logger.Debug().Msg("webRTC peer does not exist") - return nil + return errors.New("webRTC peer does not exist") } offer, err := peer.CreateOffer(true) @@ -60,36 +56,27 @@ func (h *MessageHandlerCtx) signalRestart(session types.Session) error { } func (h *MessageHandlerCtx) signalAnswer(session types.Session, payload *message.SignalAnswer) error { - logger := h.logger.With().Str("session_id", session.ID()).Logger() - peer := session.GetWebRTCPeer() if peer == nil { - logger.Debug().Msg("webRTC peer does not exist") - return nil + return errors.New("webRTC peer does not exist") } return peer.SignalAnswer(payload.SDP) } func (h *MessageHandlerCtx) signalCandidate(session types.Session, payload *message.SignalCandidate) error { - logger := h.logger.With().Str("session_id", session.ID()).Logger() - peer := session.GetWebRTCPeer() if peer == nil { - logger.Debug().Msg("webRTC peer does not exist") - return nil + return errors.New("webRTC peer does not exist") } return peer.SignalCandidate(payload.ICECandidateInit) } func (h *MessageHandlerCtx) signalVideo(session types.Session, payload *message.SignalVideo) error { - logger := h.logger.With().Str("session_id", session.ID()).Logger() - peer := session.GetWebRTCPeer() if peer == nil { - logger.Debug().Msg("webRTC peer does not exist") - return nil + return errors.New("webRTC peer does not exist") } err := peer.SetVideoID(payload.Video) diff --git a/internal/websocket/handler/system.go b/internal/websocket/handler/system.go index 8f2d1a01..6052e079 100644 --- a/internal/websocket/handler/system.go +++ b/internal/websocket/handler/system.go @@ -1,6 +1,8 @@ package handler import ( + "errors" + "demodesk/neko/internal/types" "demodesk/neko/internal/types/event" "demodesk/neko/internal/types/message" @@ -19,8 +21,7 @@ func (h *MessageHandlerCtx) systemInit(session types.Session) error { size := h.desktop.GetScreenSize() if size == nil { - h.logger.Warn().Msg("could not get screen size") - return nil + return errors.New("could not get screen size") } sessions := map[string]message.SessionData{}