From 74eebeb95a3ef2e065cbda37cbde2e289a50c4e6 Mon Sep 17 00:00:00 2001 From: Ashley Mensah Date: Wed, 5 Nov 2025 17:20:22 +0100 Subject: [PATCH] added new 'handleOfferAnswer' method to engine.go to clean up offer answer logic and satisfy SonarQube analysis (case clause with > 6 lines) --- client/internal/engine.go | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/client/internal/engine.go b/client/internal/engine.go index ac559d2b4..72b1ad9b3 100644 --- a/client/internal/engine.go +++ b/client/internal/engine.go @@ -1442,16 +1442,9 @@ func (e *Engine) receiveSignalEvents() { switch msg.GetBody().Type { case sProto.Body_OFFER, sProto.Body_ANSWER: - offerAnswer, err := convertToOfferAnswer(msg) - if err != nil { + if err := e.handleOfferAnswer(msg, conn); err != nil { return err } - - if msg.Body.Type == sProto.Body_OFFER { - conn.OnRemoteOffer(*offerAnswer) - } else { - conn.OnRemoteAnswer(*offerAnswer) - } case sProto.Body_CANDIDATE: candidate, err := ice.UnmarshalCandidate(msg.GetBody().Payload) if err != nil { @@ -1479,6 +1472,20 @@ func (e *Engine) receiveSignalEvents() { e.signal.WaitStreamConnected() } +func (e *Engine) handleOfferAnswer(msg *sProto.Message, conn *peer.Conn) error { + offerAnswer, err := convertToOfferAnswer(msg) + if err != nil { + return err + } + + if msg.Body.Type == sProto.Body_OFFER { + conn.OnRemoteOffer(*offerAnswer) + } else { + conn.OnRemoteAnswer(*offerAnswer) + } + return nil +} + func (e *Engine) parseNATExternalIPMappings() []string { var mappedIPs []string var ignoredIFaces = make(map[string]interface{})